Population by educational attainment level, sex and age (%) - edat_lfs_9903

Data - Eurostat

Info

Last observation: 2024 (N = 17319)

First observation: 2004 (N = 9758)

Last data update: 02 aoû 2026, 07:57. Last compile: 18 aoû 2026, 00:22

Structure

LAST_DOWNLOAD

Code
tibble(LAST_DOWNLOAD = as.Date(file.info("~/iCloud/website/data/eurostat/edat_lfs_9903.RData")$mtime)) |>
  print_table_conditional()
LAST_DOWNLOAD
NA

geo

Code
edat_lfs_9903 |>
  left_join(geo, by = "geo") |>
  group_by(geo, Geo) |>
  summarise(Nobs = n()) |>
  arrange(-Nobs) |>
  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, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

France, EU, Italy, Germany, Spain, Netherlands

15-74, peu d’éducation

Code
edat_lfs_9903 |>
  filter(isced11 == "ED0-2",
         age == "Y15-74",
         geo %in% c("EA19", "DE", "ES", "FR", "IT"),
         sex == "T") %>%
  select_if(~ n_distinct(.) > 1) |>
  year_to_date() |>
  filter(date >= as.Date("1995-01-01")) |>
  left_join(geo, by = "geo") |>
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) |>
  mutate(Geo = ifelse(geo == "EA19", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  mutate(color = ifelse(geo == "EA19", color2, color)) |>
  mutate(color = ifelse(geo == "ES", color2, color)) |>
  mutate(values = values / 100) |>
  ggplot() + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("% Population du 1er cycle de l'enseignement secondaire") +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, 2),
                     labels = percent_format(accuracy = 1))

Education moyenne

Code
edat_lfs_9903 |>
  filter(isced11 == "ED3_4",
         age == "Y15-74",
         geo %in% c("EA19", "DE", "ES", "FR", "IT"),
         sex == "T") |>
  year_to_date() |>
  filter(date >= as.Date("1995-01-01")) |>
  left_join(geo, by = "geo") |>
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) |>
  mutate(Geo = ifelse(geo == "EA19", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  mutate(color = ifelse(geo == "EA19", color2, color)) |>
  mutate(color = ifelse(geo == "ES", color2, color)) |>
  mutate(values = values / 100) |>
  ggplot() + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("% Population des niveaux 3 et 4") +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, 2),
                     labels = percent_format(accuracy = 1))

Enseignement supérieur

Code
edat_lfs_9903 |>
  filter(isced11 == "ED5-8",
         age == "Y15-74",
         geo %in% c("EA19", "DE", "ES", "FR", "IT"),
         sex == "T") |>
  year_to_date() |>
  filter(date >= as.Date("1995-01-01")) |>
  left_join(geo, by = "geo") |>
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) |>
  mutate(Geo = ifelse(geo == "EA19", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  mutate(color = ifelse(geo == "EA19", color2, color)) |>
  mutate(color = ifelse(geo == "ES", color2, color)) |>
  mutate(values = values / 100) |>
  ggplot() + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("% Population des niveaux 5 à 8") +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, 2),
                     labels = percent_format(accuracy = 1))