Employees by educational attainment level, sex, age and occupation (%) - edat_lfs_9905

Data - Eurostat

Info

LAST_DOWNLOAD

Code
tibble(LAST_DOWNLOAD = as.Date(file.info("~/iCloud/website/data/eurostat/edat_lfs_9905.RData")$mtime)) %>%
  print_table_conditional()
LAST_DOWNLOAD
2025-08-24

LAST_COMPILE

LAST_COMPILE
2025-08-26

Last

Code
edat_lfs_9905 %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(time)) %>%
  head(1) %>%
  print_table_conditional()
time Nobs
2024 114852

unit

Code
edat_lfs_9905 %>%
  left_join(unit, by = "unit") %>%
  group_by(unit, Unit) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
unit Unit Nobs
PC Percentage 1859218

isco08

Code
edat_lfs_9905 %>%
  left_join(isco08, by = "isco08") %>%
  group_by(isco08, Isco08) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
isco08 Isco08 Nobs
TOTAL Total 163824
OC2 Professionals 163440
OC3 Technicians and associate professionals 163440
OC9 Elementary occupations 163440
OC4 Clerical support workers 163436
OC5 Service and sales workers 163436
OC7 Craft and related trades workers 163246
OC8 Plant and machine operators and assemblers 163082
OC1 Managers 160424
OC6 Skilled agricultural, forestry and fishery workers 159454
OC0 Armed forces occupations 144862
NRP No response 87134

sex

Code
edat_lfs_9905 %>%
  left_join(sex, by = "sex") %>%
  group_by(sex, Sex) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
sex Sex Nobs
T Total 624872
M Males 623424
F Females 610922

age

Code
edat_lfs_9905 %>%
  left_join(age, by = "age") %>%
  group_by(age, Age) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
age Age Nobs
Y25-34 From 25 to 34 years 129158
Y15-24 From 15 to 24 years 126724
Y18-24 From 18 to 24 years 126608
Y20-24 From 20 to 24 years 126348
Y15-74 From 15 to 74 years 112922
Y15-64 From 15 to 64 years 112918
Y15-69 From 15 to 69 years 112918
Y18-74 From 18 to 74 years 112914
Y18-64 From 18 to 64 years 112910
Y18-69 From 18 to 69 years 112910
Y25-74 From 25 to 74 years 112824
Y25-64 From 25 to 64 years 112820
Y25-69 From 25 to 69 years 112820
Y25-54 From 25 to 54 years 112742
Y30-54 From 30 to 54 years 112550
Y55-74 From 55 to 74 years 109132

isced11

Code
load_data("eurostat/isced11_fr.RData")
edat_lfs_9905 %>%
  left_join(isced11, by = "isced11") %>%
  group_by(isced11, Isced11) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
isced11 Isced11 Nobs
ED0-2 Inférieur à l'enseignement primaire, enseignement primaire et premier cycle de l'enseignement secondaire (niveaux 0-2) 409273
ED3-8 Deuxième cycle de l'enseignement secondaire, enseignement post-secondaire non-supérieur et enseignement supérieur (niveaux 3-8) 409273
ED3_4 Deuxième cycle de l'enseignement secondaire et enseignement post-secondaire non-supérieur (niveaux 3 et 4) 409273
ED5-8 Enseignement supérieur (niveaux 5-8) 409273
ED3_4GEN Deuxième cycle de l'enseignement secondaire et enseignement post-secondaire non-supérieur (niveaux 3 et 4) - général 111063
ED3_4VOC Deuxième cycle de l'enseignement secondaire et enseignement post-secondaire non-supérieur (niveaux 3 et 4) - professionnel 111063

geo

Code
edat_lfs_9905 %>%
  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 .}

time

Code
edat_lfs_9905 %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(time)) %>%
  print_table_conditional()
time Nobs
2024 114852
2023 115038
2022 114846
2021 114876
2020 87828
2019 90556
2018 90642
2017 90386
2016 90360
2015 90330
2014 90344
2013 80756
2012 79004
2011 79080
2010 78868
2009 76672
2008 76356
2007 76712
2006 76944
2005 73072
2004 71696

France, EU, Italy, Germany, Spain, Netherlands

15-74, peu d’éducation

Code
edat_lfs_9905 %>%
  filter(isced11 == "ED0-2",
         age == "Y15-74",
         geo %in% c("EA19", "DE", "ES", "FR", "IT"),
         isco08 == "TOTAL",
         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("% Employés du 1er cycle de l'enseignement secondaire") +
  scale_color_identity() + add_5flags +
  scale_x_date(breaks = seq(1960, 2026, 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_9905 %>%
  filter(isced11 == "ED3_4",
         age == "Y15-74",
         isco08 == "TOTAL",
         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("% Employés des niveaux 3 et 4") +
  scale_color_identity() + add_5flags +
  scale_x_date(breaks = seq(1960, 2026, 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_9905 %>%
  filter(isced11 == "ED5-8",
         age == "Y15-74",
         geo %in% c("EA19", "DE", "ES", "FR", "IT"),
         isco08 == "TOTAL",
         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("% Employés des niveaux 5 à 8") +
  scale_color_identity() + add_5flags +
  scale_x_date(breaks = seq(1960, 2026, 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))