Unemployment by sex, age, country of birth and NUTS 2 regions - lfst_r_lfu2gac

Data - Eurostat

Info

Last observation: Annual: 2025 (N = 33,020)

First observation: Annual: 1999 (N = 22,942)

Last data update: 23 jul 2026, 22:40. Last compile: 24 jul 2026, 02:28

Structure

France: Males vs. Females

Y15-74

Code
lfst_r_lfu2gac %>%
  filter(geo == "FR",
         age == "Y15-74",
         sex %in% c("F", "M"),
         c_birth == "TOTAL") %>%
  year_to_date %>%
  ggplot + geom_line(aes(x = date, y = values, color = Sex)) +
  theme_minimal() +
  scale_x_date(breaks = as.Date(paste0(seq(1990, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  xlab("") + ylab("Unemployed persons (thousands)") +
  theme(legend.position = c(0.25, 0.85), legend.title = element_blank())

France: NUTS2 Regions

Ile de France, Grand Est, Nouvelle-Aquitaine

Code
lfst_r_lfu2gac %>%
  filter(geo %in% c("FR10", "FRF", "FRI"),
         age == "Y15-74",
         sex == "T",
         c_birth == "TOTAL") %>%
  year_to_date %>%
  ggplot + geom_line(aes(x = date, y = values, color = Geo)) +
  theme_minimal() +
  scale_x_date(breaks = as.Date(paste0(seq(1990, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  xlab("") + ylab("Unemployed persons (thousands)") +
  theme(legend.position = c(0.3, 0.85), legend.title = element_blank())

National Totals

France, Germany, Italy, Spain, Portugal

Code
lfst_r_lfu2gac %>%
  filter(geo %in% c("FR", "DE", "IT", "ES", "PT"),
         age == "Y15-74",
         sex == "T",
         c_birth == "TOTAL") %>%
  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_5flags +
  scale_x_date(breaks = as.Date(paste0(seq(1990, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  xlab("") + ylab("Unemployed persons (thousands)")

France: Country of Birth

Nationals vs. Foreign-born

Code
lfst_r_lfu2gac %>%
  filter(geo == "FR",
         age == "Y15-74",
         sex == "T",
         c_birth %in% c("NAT", "FOR")) %>%
  year_to_date %>%
  ggplot + geom_line(aes(x = date, y = values, color = C_birth)) +
  theme_minimal() +
  scale_x_date(breaks = as.Date(paste0(seq(1990, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  xlab("") + ylab("Unemployed persons (thousands)") +
  theme(legend.position = c(0.25, 0.85), legend.title = element_blank())

Latest Year, National Totals

Code
latest_y_lfu <- lfst_r_lfu2gac %>%
  filter(age == "Y15-74",
         sex == "T",
         c_birth == "TOTAL",
         geo %in% c("FR", "DE", "IT", "ES", "PT"),
         !is.na(values)) %>%
  summarise(m = max(time)) %>%
  pull(m)

lfst_r_lfu2gac %>%
  filter(geo %in% c("FR", "DE", "IT", "ES", "PT"),
         age == "Y15-74",
         sex %in% c("F", "M", "T"),
         c_birth == "TOTAL",
         time == latest_y_lfu) %>%
  select(sex, Sex, Geo, values) %>%
  spread(Geo, values) %>%
  print_table_conditional()
sex Sex France Germany Italy Portugal Spain
F Females 1181.1 723.4 744.5 180.2 1396.4
M Males 1270.1 968.7 831.1 156.8 1211.7
T Total 2451.2 1692.1 1575.6 337.1 2608.1