Unemployment by sex and age – quarterly data - une_rt_q

Data - Eurostat

Info

Last observation: 2026Q1 (N = 6702)

First observation: 2003Q1 (N = 189)

Last data update: 14 aoû 2026, 20:33. Last compile: 18 aoû 2026, 04:39

Structure

France, Germany, Portugal

All

Code
une_rt_q |>
  filter(geo %in% c("FR", "DE", "PT"),
         age == "Y25-54",
         sex == "T",
         unit == "PC_ACT",
         s_adj == "SA") |>
  quarter_to_date() |>
  
  left_join(colors, by = c("Geo" = "country")) |>
  mutate(values = values/100) |>
  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")) +
  xlab("") + ylab("Unemployment, Percentage of active population") +
  scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
                     labels = scales::percent_format(accuracy = 1))

2009-

Code
une_rt_q |>
  filter(geo %in% c("FR", "DE", "PT"),
         age == "Y25-54",
         sex == "T",
         unit == "PC_ACT",
         s_adj == "SA") |>
  quarter_to_date() |>
  
  left_join(colors, by = c("Geo" = "country")) |>
  mutate(values = values/100) |>
  filter(date >= as.Date("2009-01-01")) |>
  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")) +
  xlab("") + ylab("Unemployment, Percentage of active population") +
  scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
                     labels = scales::percent_format(accuracy = 1))

France, Germany, Spain, Netherlands, Italy

All

Code
une_rt_q |>
  filter(geo %in% c("FR", "DE", "IT", "NL", "ES"),
         age == "Y25-54",
         sex == "T",
         unit == "PC_ACT",
         s_adj == "SA") |>
  quarter_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_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  xlab("") + ylab("Unemployment, Percentage of active population") +
  scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
                     labels = scales::percent_format(accuracy = 1))

2009-

Code
une_rt_q |>
  filter(geo %in% c("FR", "DE", "IT", "NL", "ES"),
         age == "Y25-54",
         sex == "T",
         unit == "PC_ACT",
         s_adj == "SA") |>
  quarter_to_date() |>
  filter(date >= as.Date("2009-01-01")) |>
  
  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_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  xlab("") + ylab("Unemployment, Percentage of active population") +
  scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
                     labels = scales::percent_format(accuracy = 1))

Europe, France, Germany

All

Code
une_rt_q |>
  filter(geo %in% c("EA20", "FR", "DE"),
         age == "Y25-54",
         sex == "T",
         unit == "PC_ACT",
         s_adj == "SA") |>
  quarter_to_date() |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  mutate(values = values/100) |>
  mutate(color = ifelse(geo == "FR", color2, color)) |>
  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")) +
  xlab("") + ylab("Unemployment, Percentage of active population") +
  scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
                     labels = scales::percent_format(accuracy = 1))

2009

Code
une_rt_q |>
  filter(geo %in% c("EA20", "FR", "DE"),
         age == "Y25-54",
         sex == "T",
         unit == "PC_ACT",
         s_adj == "SA") |>
  quarter_to_date() |>
  filter(date >= as.Date("2009-01-01")) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  mutate(values = values/100) |>
  mutate(color = ifelse(geo == "FR", color2, color)) |>
  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")) +
  xlab("") + ylab("Unemployment, Percentage of active population") +
  scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
                     labels = scales::percent_format(accuracy = 1))

Euro Area

Code
une_rt_q |>
  filter(geo %in% c("EA20"),
         age == "Y20-64",
         sex == "T",
         unit == "PC_ACT",
         s_adj == "SA") |>
  quarter_to_date() |>
  filter(date >= as.Date("1999-01-01")) |>
  
  ggplot() + geom_line() + theme_minimal()  +
  aes(x = date, y = values/100) +
  
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.25),
        legend.title = element_blank()) +
  xlab("") + ylab("Chômage (en % de la population active)") +
  scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
                     labels = scales::percent_format(accuracy = 1))