Last observation: 2025 (N = 26718)
First observation: 1990 (N = 4485)
Last data update: 14 aoû 2026, 19:23. Last compile: 18 aoû 2026, 00:11
Data - Eurostat
Last observation: 2025 (N = 26718)
First observation: 1990 (N = 4485)
Last data update: 14 aoû 2026, 19:23. Last compile: 18 aoû 2026, 00:11
demo_r_pjanaggr3 |>
filter(geo %in% c("FR", "DE", "IT", "ES", "PT"),
sex == "T",
age == "TOTAL") |>
year_to_date() |>
left_join(colors, by = c("Geo" = "country")) |>
group_by(geo) |>
arrange(date) |>
mutate(values = 100 * values / first(values)) |>
ungroup() |>
ggplot() + geom_line(aes(x = date, y = values, color = color)) +
theme_minimal() + scale_color_identity() + add_flags +
scale_x_date(breaks = as.Date(paste0(seq(1990, 2100, 5), "-01-01")),
labels = date_format("%Y")) +
xlab("") + ylab("Total population (1990 = 100)")
latest_yr <- demo_r_pjanaggr3 |>
filter(geo %in% c("FR", "DE", "IT", "ES", "PT"),
sex == "T",
age == "TOTAL",
!is.na(values)) |>
summarise(m = max(time)) |>
pull(m)
demo_r_pjanaggr3 |>
filter(geo %in% c("FR", "DE", "IT", "ES", "PT"),
sex == "T",
age %in% c("Y_LT15", "Y15-64", "Y_GE65"),
time == latest_yr) |>
group_by(geo) |>
mutate(share = round(100 * values / sum(values), 1)) |>
ungroup() |>
select(Age, Geo, share) |>
spread(Geo, share) |>
print_table_conditional()| Age | France | Germany | Italy | Portugal | Spain |
|---|---|---|---|---|---|
| 65 years or over | 21.9 | 22.7 | 24.7 | 24.3 | 20.7 |
| From 15 to 64 years | 61.5 | 63.4 | 63.4 | 63.0 | 66.4 |
| Less than 15 years | 16.6 | 13.9 | 11.9 | 12.6 | 12.9 |