| source | dataset | Title | .html | .rData |
|---|---|---|---|---|
| eurostat | lfsq_ergaed | Employment rates by sex, age and educational attainment level (%) - lfsq_ergaed | 2026-01-29 | 2026-01-29 |
Employment rates by sex, age and educational attainment level (%) - lfsq_ergaed
Data - Eurostat
Info
LAST_DOWNLOAD
Code
tibble(LAST_DOWNLOAD = as.Date(file.info("~/iCloud/website/data/eurostat/lfsq_ergaed.RData")$mtime)) %>%
print_table_conditional()| LAST_DOWNLOAD |
|---|
| 2026-01-31 |
LAST_COMPILE
| LAST_COMPILE |
|---|
| 2026-01-31 |
Last
Code
lfsq_ergaed %>%
group_by(time) %>%
summarise(Nobs = n()) %>%
arrange(desc(time)) %>%
head(1) %>%
print_table_conditional()| time | Nobs |
|---|---|
| 2025Q3 | 19914 |
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 | 521315 |
| M | Males | 518983 |
| F | Females | 518673 |
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 | 57485 |
| Y25-29 | From 25 to 29 years | 56930 |
| Y30-34 | From 30 to 34 years | 56905 |
| Y20-24 | From 20 to 24 years | 56882 |
| Y15-74 | From 15 to 74 years | 52072 |
| Y15-64 | From 15 to 64 years | 52014 |
| Y15-59 | From 15 to 59 years | 51997 |
| Y15-39 | From 15 to 39 years | 51779 |
| Y25-74 | From 25 to 74 years | 51571 |
| Y20-64 | From 20 to 64 years | 51569 |
| Y25-64 | From 25 to 64 years | 51508 |
| Y25-59 | From 25 to 59 years | 51486 |
| Y25-54 | From 25 to 54 years | 51449 |
| Y25-49 | From 25 to 49 years | 51372 |
| Y50-74 | From 50 to 74 years | 51271 |
| Y40-64 | From 40 to 64 years | 51248 |
| Y40-59 | From 40 to 59 years | 51204 |
| Y50-64 | From 50 to 64 years | 51110 |
| Y50-59 | From 50 to 59 years | 51015 |
| Y65-74 | From 65 to 74 years | 50948 |
| Y55-64 | From 55 to 64 years | 50925 |
| Y50-54 | From 50 to 54 years | 50838 |
| Y40-44 | From 40 to 44 years | 50808 |
| Y45-49 | From 45 to 49 years | 50793 |
| Y35-39 | From 35 to 39 years | 50773 |
| Y55-59 | From 55 to 59 years | 50710 |
| Y65-69 | From 65 to 69 years | 50673 |
| Y60-64 | From 60 to 64 years | 50639 |
| Y70-74 | From 70 to 74 years | 50520 |
| Y15-19 | From 15 to 19 years | 50477 |
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 | 326250 |
| ED0-2 | Inférieur à l'enseignement primaire, enseignement primaire et premier cycle de l'enseignement secondaire (niveaux 0-2) | 324710 |
| ED3_4 | Deuxième cycle de l'enseignement secondaire et enseignement post-secondaire non-supérieur (niveaux 3 et 4) | 324693 |
| ED5-8 | Enseignement supérieur (niveaux 5-8) | 318367 |
| NRP | Sans réponse | 113060 |
| ED35_45 | Deuxième cycle du secondaire et post-secondaire non-supérieur - professionnel (niveaux 35 et 45) | 76350 |
| ED34_44 | Deuxième cycle du secondaire et post-secondaire non-supérieur - général (niveaux 34 et 44) | 75409 |
| 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, 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))
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, 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))
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, 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))
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, 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))
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, 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))
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, 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))
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, 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))
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, 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))
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, 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
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, 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
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, 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))
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, 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))
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, 2100, 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, 2100, 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, 2100, 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))