Adjusted gross disposable income of households per capita in PPS - tec00113

Data - Eurostat

Info

Last observation: 2025 (N = 10)

First observation: 2014 (N = 34)

Last data update: 14 aoû 2026, 22:00. Last compile: 18 aoû 2026, 04:28

Structure

Germany, France, Italy, Spain vs. EU Average

Code
EU27_values <- tec00113 |>
  filter(geo == "EU27_2020") |>
  select(time, EU27 = values)

tec00113 |>
  filter(geo %in% c("FR", "DE", "IT", "ES")) |>
  select(geo, Geo, time, values) |>
  left_join(EU27_values, by = "time") |>
  mutate(values = values / EU27) |>
  year_to_date() |>

  left_join(colors, by = c("Geo" = "country")) |>
  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(1960, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.35, 0.2),
        legend.title = element_blank()) +
  xlab("") + ylab("Adjusted gross disposable income, relative to EU27 average") +
  scale_y_continuous(labels = scales::percent_format(accuracy = 1)) +
  geom_hline(yintercept = 1, linetype = "dashed", color = "black")

Central and Eastern Europe: Poland, Romania, Hungary, Czechia

Code
tec00113 |>
  filter(geo %in% c("PL", "RO", "HU", "CZ")) |>
  select(time, geo, Geo, values) |>
  year_to_date() |>

  left_join(colors, by = c("Geo" = "country")) |>
  ggplot() + geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  theme_minimal() + xlab("") + ylab("Adjusted gross disposable income per capita (PPS)") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.35, 0.85),
        legend.title = element_blank())

Last, First

Code
tec00113 |>
  filter(time %in% c(max(time), min(time))) %>%
  
  select_if(~ n_distinct(.) > 1) |>
  spread(time,  values) |>
  arrange(desc(pick(last_col()))) |>
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) |>
  mutate(Flag = gsub(" ", "-", str_to_lower(Geo)),
         Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) |>
  select(Flag, geo, Geo, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

Germany, France, Italy

Code
tec00113 |>
  filter(geo %in% c("FR", "DE", "IT", "ES")) |>
  select(time, geo, Geo, values) |>
  year_to_date() |>
  
  left_join(colors, by = c("Geo" = "country")) |>
  ggplot() + geom_line(aes(x = date, y = values, color = color)) + 
  scale_color_identity() + add_flags +
  theme_minimal()  + xlab("") + ylab("") +
  scale_x_date(breaks = as.Date(paste0(seq(1960,2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.35, 0.85),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 100000, 1000))