Employment rates by sex, age and educational attainment level (%) - lfsq_ergaed

Data - Eurostat

Info

LAST_DOWNLOAD

Code
tibble(LAST_DOWNLOAD = as.Date(file.info("~/Library/Mobile\ Documents/com~apple~CloudDocs/website/data/eurostat/lfsq_ergaed.RData")$mtime)) %>%
  print_table_conditional()
LAST_DOWNLOAD
2024-06-07

LAST_COMPILE

LAST_COMPILE
2024-06-24

Last

Code
lfsq_ergaed %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(time)) %>%
  head(1) %>%
  print_table_conditional()
time Nobs
2023Q4 19822

sex

Code
lfsq_ergaed %>%
  left_join(sex, by = "sex") %>%
  group_by(sex, Sex) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
sex Sex Nobs
T Total 471823
M Males 469685
F Females 469465

age

Code
lfsq_ergaed %>%
  left_join(age, by = "age") %>%
  group_by(age, Age) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
age Age Nobs
Y15-24 From 15 to 24 years 52557
Y25-29 From 25 to 29 years 52012
Y30-34 From 30 to 34 years 51974
Y20-24 From 20 to 24 years 51972
Y15-74 From 15 to 74 years 47069
Y15-64 From 15 to 64 years 47012
Y15-59 From 15 to 59 years 46995
Y15-39 From 15 to 39 years 46806
Y25-74 From 25 to 74 years 46585
Y20-64 From 20 to 64 years 46576
Y25-64 From 25 to 64 years 46525
Y25-59 From 25 to 59 years 46505
Y25-54 From 25 to 54 years 46470
Y25-49 From 25 to 49 years 46401
Y50-74 From 50 to 74 years 46292
Y40-64 From 40 to 64 years 46284
Y40-59 From 40 to 59 years 46243
Y50-64 From 50 to 64 years 46149
Y15-19 From 15 to 19 years 46091
Y50-59 From 50 to 59 years 46061
Y65-74 From 65 to 74 years 46009
Y55-64 From 55 to 64 years 45979
Y50-54 From 50 to 54 years 45903
Y40-44 From 40 to 44 years 45880
Y45-49 From 45 to 49 years 45872
Y35-39 From 35 to 39 years 45865
Y55-59 From 55 to 59 years 45784
Y65-69 From 65 to 69 years 45767
Y60-64 From 60 to 64 years 45735
Y70-74 From 70 to 74 years 45600

isced11

Code
load_data("eurostat/isced11_fr.RData")
lfsq_ergaed %>%
  left_join(isced11, by = "isced11") %>%
  group_by(isced11, Isced11) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
isced11 Isced11 Nobs
TOTAL Ensemble des niveaux de la CITE 2011 302580
ED0-2 Inférieur à l'enseignement primaire, enseignement primaire et premier cycle de l'enseignement secondaire (niveaux 0-2) 301040
ED3_4 Deuxième cycle de l'enseignement secondaire et enseignement post-secondaire non-supérieur (niveaux 3 et 4) 301024
ED5-8 Enseignement supérieur (niveaux 5-8) 295185
NRP Sans réponse 106286
ED3_4VOC Deuxième cycle de l'enseignement secondaire et enseignement post-secondaire non-supérieur (niveaux 3 et 4) - professionnel 52709
ED3_4GEN Deuxième cycle de l'enseignement secondaire et enseignement post-secondaire non-supérieur (niveaux 3 et 4) - général 52017
NAP Non applicable 132

geo

Code
lfsq_ergaed %>%
  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
lfsq_ergaed %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(time)) %>%
  print_table_conditional()

France, EU, Italy, Germany, Spain, Netherlands

Peu d’éducation

Y15-39

Code
lfsq_ergaed %>%
  filter(isced11 == "ED0-2",
         age == "Y15-39",
         geo %in% c("EA20", "DE", "ES", "FR", "IT"),
         sex == "T") %>%
  quarter_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 == "EA20", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "EA20", 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("Taux d'emploi (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))

Y40-64

Code
lfsq_ergaed %>%
  filter(isced11 == "ED0-2",
         age == "Y40-64",
         geo %in% c("EA20", "DE", "ES", "FR", "IT"),
         sex == "T") %>%
  quarter_to_date() %>%
  filter(date >= as.Date("2005-01-01")) %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "EA20", 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("Taux d'emploi 40-64 (1er cycle du 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))

Males

Code
lfsq_ergaed %>%
  filter(isced11 == "ED0-2",
         age == "Y40-64",
         geo %in% c("EA20", "DE", "ES", "FR", "IT"),
         sex == "M") %>%
  quarter_to_date() %>%
  filter(date >= as.Date("2005-01-01")) %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "EA20", 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("Taux d'emploi M 40-64 (1er cycle du 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))

Females

Code
lfsq_ergaed %>%
  filter(isced11 == "ED0-2",
         age == "Y40-64",
         geo %in% c("EA20", "DE", "ES", "FR", "IT"),
         sex == "F") %>%
  quarter_to_date() %>%
  filter(date >= as.Date("2005-01-01")) %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "EA20", 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("Taux d'emploi F 40-64 (1er cycle du 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))

Y15-64

Tous

1995-
Code
lfsq_ergaed %>%
  filter(isced11 == "ED0-2",
         age == "Y15-64",
         geo %in% c("EA20", "DE", "ES", "FR", "IT"),
         sex == "T") %>%
  quarter_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 == "EA20", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "EA20", 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("Taux d'emploi (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))

2005-
Code
lfsq_ergaed %>%
  filter(isced11 == "ED0-2",
         age == "Y15-64",
         geo %in% c("EA20", "DE", "ES", "FR", "IT"),
         sex == "T") %>%
  quarter_to_date() %>%
  filter(date >= as.Date("2005-01-01")) %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "EA20", 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("Taux d'emploi (1er cycle du 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))

Femmes

Code
lfsq_ergaed %>%
  filter(isced11 == "ED0-2",
         age == "Y15-64",
         geo %in% c("EA20", "DE", "ES", "FR", "IT"),
         sex == "F") %>%
  quarter_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 == "EA20", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "EA20", 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("Taux d'emploi (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))

Hommes

Code
lfsq_ergaed %>%
  filter(isced11 == "ED0-2",
         age == "Y15-64",
         geo %in% c("EA20", "DE", "ES", "FR", "IT"),
         sex == "M") %>%
  quarter_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 == "EA20", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "EA20", 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("Taux d'emploi (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))

Y15-74

Code
lfsq_ergaed %>%
  filter(isced11 == "ED0-2",
         age == "Y15-74",
         geo %in% c("EA20", "DE", "ES", "FR", "IT"),
         sex == "T") %>%
  quarter_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 == "EA20", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "EA20", 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("Taux d'emploi (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
lfsq_ergaed %>%
  filter(isced11 == "ED3_4",
         age == "Y15-74",
         geo %in% c("EA20", "DE", "ES", "FR", "IT"),
         sex == "T") %>%
  quarter_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 == "EA20", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "EA20", 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("Taux d'emploi") +
  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
lfsq_ergaed %>%
  filter(isced11 == "ED5-8",
         age == "Y15-74",
         geo %in% c("EA20", "DE", "ES", "FR", "IT"),
         sex == "T") %>%
  quarter_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 == "EA20", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "EA20", 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("Taux d'emploi") +
  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))

TOTAL

Code
lfsq_ergaed %>%
  filter(isced11 == "TOTAL",
         age == "Y15-74",
         geo %in% c("ES", "DE", "FR", "IT", "EA20"),
         sex == "T") %>%
  quarter_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 == "EA20", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "EA20", 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("Taux d'emploi") +
  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))

EU: Employment Rates - All

All

Code
lfsq_ergaed %>%
  filter(geo %in% c("EU15", "EU28", "EU27_2020"),
         age == "Y15-64",
         isced11 == "TOTAL",
         sex == "T",
         unit == "PC") %>%
  quarter_to_date %>%
  left_join(geo, by = "geo") %>%
  ggplot + geom_line() + theme_minimal()  +
  aes(x = date, y = values/100, color = Geo, linetype = Geo) +
  scale_color_manual(values = viridis(4)[1:3]) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2020, 2), "-01-01")),
               labels = date_format("%y")) +
  theme(legend.position = c(0.3, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Employment Rates") +
  scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
                     labels = scales::percent_format(accuracy = 1))

Female

Code
lfsq_ergaed %>%
  filter(geo %in% c("EU15", "EU28", "EU27_2020"),
         age == "Y15-64",
         isced11 == "TOTAL",
         sex == "F",
         unit == "PC") %>%
  quarter_to_date %>%
  left_join(geo, by = "geo") %>%
  ggplot + geom_line() + theme_minimal()  +
  aes(x = date, y = values/100, color = Geo, linetype = Geo) +
  scale_color_manual(values = viridis(4)[1:3]) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2020, 2), "-01-01")),
               labels = date_format("%y")) +
  theme(legend.position = c(0.3, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Employment Rates (Female)") +
  scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
                     labels = scales::percent_format(accuracy = 1))

Male

Code
lfsq_ergaed %>%
  filter(geo %in% c("EU15", "EU28", "EU27_2020"),
         age == "Y15-64",
         isced11 == "TOTAL",
         sex == "M",
         unit == "PC") %>%
  quarter_to_date %>%
  left_join(geo, by = "geo") %>%
  ggplot + geom_line() + theme_minimal()  +
  aes(x = date, y = values/100, color = Geo, linetype = Geo) +
  scale_color_manual(values = viridis(4)[1:3]) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2020, 2), "-01-01")),
               labels = date_format("%y")) +
  theme(legend.position = c(0.22, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Employment Rates (Male)") +
  scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
                     labels = scales::percent_format(accuracy = 1))