Disposable income of private households by NUTS 2 regions
Data - Eurostat
Info
Last observation: Annual: 2024 (N = 64)
First observation: Annual: 2013 (N = 257)
Last data update: 11 aoû 2026, 22:42. Last compile: 12 aoû 2026, 03:54
Structure
Ile de France, Rhône-Alpes, Provence-Alpes-Côte d’Azur
Code
tgs00026 |>
filter(geo %in% c("FR10", "FRK2", "FRL0")) |>
year_to_date() |>
mutate(values = values/1000) |>
left_join(colors, by = c("Geo" = "country")) |>
ggplot() + geom_line(aes(x = date, y = values, color = color)) +
scale_color_identity() + add_flags +
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(2013, 2100, 1), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
xlab("") + ylab("Disposable income, net (Bn PPS)")
Top 15 NUTS 2 Regions
Code
latest_y <- tgs00026 |>
filter(nchar(geo) == 4, !is.na(values)) |>
summarise(m = max(time)) |>
pull(m)
tgs00026 |>
filter(time == latest_y,
nchar(geo) == 4,
!grepl("ZZ$", geo)) |>
mutate(values = values/1000) |>
select(geo, Geo, values) |>
arrange(-values) |>
slice(1:15) |>
print_table_conditional()| geo | Geo | values |
|---|---|---|
| ITC4 | Lombardia | 275.17923 |
| ITI4 | Lazio | 134.29130 |
| ITH3 | Veneto | 117.63957 |
| ITH5 | Emilia-Romagna | 116.89688 |
| ITC1 | Piemonte | 107.04846 |
| ITF3 | Campania | 93.21691 |
| ITI1 | Toscana | 86.96208 |
| ITG1 | Sicilia | 83.08919 |
| ITF4 | Puglia | 68.92832 |
| AT13 | Wien | 50.96023 |
| BE21 | Prov. Antwerpen | 49.09264 |
| AT12 | Niederösterreich | 48.86705 |
| AT31 | Oberösterreich | 42.31547 |
| BE23 | Prov. Oost-Vlaanderen | 41.69548 |
| DK01 | Hovedstaden | 41.51869 |
Disposable household income
2015
Code
tgs00026 |>
filter(time == 2015,
nchar(geo) == 4) |>
right_join(europe_NUTS2, by = "geo") |>
filter(long >= -15, lat >= 33) |>
ggplot(aes(x = long, y = lat, group = group, fill = values/1000)) +
geom_polygon() + coord_map() +
scale_fill_viridis_c(na.value = "white",
labels = scales::dollar_format(accuracy = 1, prefix = "", suffix = " k€"),
breaks = c(seq(0, 300, 50)),
values = c(0, 0.1, 0.2, 0.3, 0.4, 0.5, 1)) +
theme_void() + theme(legend.position = c(0.25, 0.85)) +
labs(fill = "Disposable Income")
2019
Code
tgs00026 |>
filter(time == 2019,
nchar(geo) == 4) |>
right_join(europe_NUTS2, by = "geo") |>
filter(long >= -15, lat >= 33) |>
ggplot(aes(x = long, y = lat, group = group, fill = values/1000)) +
geom_polygon() + coord_map() +
scale_fill_viridis_c(na.value = "white",
labels = scales::dollar_format(accuracy = 1, prefix = "", suffix = " k€"),
breaks = c(seq(0, 300, 50)),
values = c(0, 0.1, 0.2, 0.3, 0.4, 0.5, 1)) +
theme_void() + theme(legend.position = c(0.25, 0.85)) +
labs(fill = "Disposable Income")