Overcrowding rate by age, sex and poverty status - total population - EU-SILC survey - ilc_lvho05a
Data - Eurostat
Info
Last observation: Annual: 2025 (N = 4,752)
First observation: Annual: 2003 (N = 1,008)
Last data update: 23 jul 2026, 22:33. Last compile: 24 jul 2026, 02:03
Structure
France: Overcrowding by Poverty Status
Above vs. Below 60% of Median Income
Code
ilc_lvho05a %>%
filter(geo == "FR",
age == "TOTAL",
sex == "T",
rskpovth != "TOTAL") %>%
year_to_date %>%
mutate(values = values/100) %>%
ggplot + geom_line(aes(x = date, y = values, color = Rskpovth)) +
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(2000, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.8, 0.85),
legend.title = element_blank()) +
xlab("") + ylab("Overcrowding rate") +
scale_y_continuous(labels = scales::percent_format(accuracy = 1))
EU27: Overcrowding by Age Group
Children vs. 65 and Over
Code
ilc_lvho05a %>%
filter(geo == "EU27_2020",
sex == "T",
rskpovth == "TOTAL",
age %in% c("Y_LT18", "Y_GE65")) %>%
year_to_date %>%
mutate(values = values/100) %>%
ggplot + geom_line(aes(x = date, y = values, color = Age)) +
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(2000, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.8, 0.15),
legend.title = element_blank()) +
xlab("") + ylab("Overcrowding rate") +
scale_y_continuous(labels = scales::percent_format(accuracy = 1))
Latest Year by Country
Code
latest_y <- ilc_lvho05a %>%
filter(geo == "EU27_2020",
age == "TOTAL",
sex == "T",
rskpovth == "TOTAL",
!is.na(values)) %>%
summarise(m = max(time)) %>%
pull(m)
ilc_lvho05a %>%
filter(geo %in% c("EU27_2020", "FR", "DE", "IT", "ES", "NL", "PL", "SE"),
age == "TOTAL",
sex == "T",
rskpovth != "TOTAL",
time == latest_y) %>%
select(Geo, Rskpovth, values) %>%
spread(Rskpovth, values) %>%
arrange(-`Below 60%`) %>%
print_table_conditional()| Geo | Above 60% | Below 60% |
|---|---|---|
| Sweden | 11.0 | 41.2 |
| Poland | 29.8 | 38.2 |
| Italy | 21.8 | 35.2 |
| European Union - 27 countries (from 2020) | 14.3 | 29.8 |
| France | 7.6 | 27.5 |
| Germany | 8.8 | 27.4 |
| Spain | 7.4 | 17.9 |
| Netherlands | 2.8 | 13.4 |
Overcrowding Rate Over Time (Total Population)
France, Germany, Italy, Spain, Netherlands
Code
ilc_lvho05a %>%
filter(geo %in% c("FR", "DE", "IT", "ES", "NL"),
age == "TOTAL",
sex == "T",
rskpovth == "TOTAL") %>%
year_to_date %>%
left_join(colors, by = c("Geo" = "country")) %>%
mutate(values = values/100) %>%
mutate(color = ifelse(geo == "NL", color2, color)) %>%
ggplot + geom_line(aes(x = date, y = values, color = color)) +
theme_minimal() + scale_color_identity() + add_5flags +
scale_x_date(breaks = as.Date(paste0(seq(2000, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
xlab("") + ylab("Overcrowding rate") +
scale_y_continuous(breaks = 0.01*seq(0, 60, 5),
labels = scales::percent_format(accuracy = 1))