Unemployment by sex and age – quarterly data

Data - Eurostat

Info

source dataset .html .RData
eurostat une_rt_q 2024-11-05 2024-10-08

LAST_DOWNLOAD

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

LAST_COMPILE

LAST_COMPILE
2024-11-22

Last

Code
une_rt_q %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(time)) %>%
  head(1) %>%
  print_table_conditional()
time Nobs
2024Q2 6237

sex

Code
une_rt_q %>%
  left_join(sex, by = "sex") %>%
  group_by(sex, Sex) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
sex Sex Nobs
T Total 141408
M Males 141405
F Females 141390

age

Code
une_rt_q %>%
  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 60747
Y15-74 From 15 to 74 years 60747
Y20-64 From 20 to 64 years 60747
Y25-54 From 25 to 54 years 60747
Y25-74 From 25 to 74 years 60747
Y55-74 From 55 to 74 years 60510
Y15-29 From 15 to 29 years 59958

geo

Code
une_rt_q %>%
  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="../../bib/flags/vsmall/', Flag, '.png" alt="Flag">')) %>%
  select(Flag, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

unit

Code
une_rt_q %>%
  left_join(unit, by = "unit") %>%
  group_by(unit, Unit) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
unit Unit Nobs
PC_ACT Percentage of population in the labour force 141605
THS_PER Thousand persons 141605
PC_POP Percentage of total population 140993

time

Code
une_rt_q %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(time)) %>%
  print_table_conditional()

France, Germany, Portugal

All

Code
une_rt_q %>%
  filter(geo %in% c("FR", "DE", "PT"),
         age == "Y25-54",
         sex == "T",
         unit == "PC_ACT",
         s_adj == "SA") %>%
  quarter_to_date %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/100) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + scale_color_identity() + add_3flags +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  xlab("") + ylab("Unemployment, Percentage of active population") +
  scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
                     labels = scales::percent_format(accuracy = 1))

2009-

Code
une_rt_q %>%
  filter(geo %in% c("FR", "DE", "PT"),
         age == "Y25-54",
         sex == "T",
         unit == "PC_ACT",
         s_adj == "SA") %>%
  quarter_to_date %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/100) %>%
  filter(date >= as.Date("2009-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + scale_color_identity() + add_3flags +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  xlab("") + ylab("Unemployment, Percentage of active population") +
  scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
                     labels = scales::percent_format(accuracy = 1))

France, Germany, Spain, Netherlands, Italy

All

Code
une_rt_q %>%
  filter(geo %in% c("FR", "DE", "IT", "NL", "ES"),
         age == "Y25-54",
         sex == "T",
         unit == "PC_ACT",
         s_adj == "SA") %>%
  quarter_to_date %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/100) %>%
  mutate(color = ifelse(geo == "NL", color2, color)) %>%
  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(1960, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  xlab("") + ylab("Unemployment, Percentage of active population") +
  scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
                     labels = scales::percent_format(accuracy = 1))

2009-

Code
une_rt_q %>%
  filter(geo %in% c("FR", "DE", "IT", "NL", "ES"),
         age == "Y25-54",
         sex == "T",
         unit == "PC_ACT",
         s_adj == "SA") %>%
  quarter_to_date %>%
  filter(date >= as.Date("2009-01-01")) %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/100) %>%
  mutate(color = ifelse(geo == "NL", color2, color)) %>%
  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(1960, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  xlab("") + ylab("Unemployment, Percentage of active population") +
  scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
                     labels = scales::percent_format(accuracy = 1))

Europe, France, Germany

All

Code
une_rt_q %>%
  filter(geo %in% c("EA19", "FR", "DE"),
         age == "Y25-54",
         sex == "T",
         unit == "PC_ACT",
         s_adj == "SA") %>%
  quarter_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/100) %>%
  mutate(color = ifelse(geo == "FR", color2, color)) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + scale_color_identity() + add_3flags +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  xlab("") + ylab("Unemployment, Percentage of active population") +
  scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
                     labels = scales::percent_format(accuracy = 1))

2009

Code
une_rt_q %>%
  filter(geo %in% c("EA19", "FR", "DE"),
         age == "Y25-54",
         sex == "T",
         unit == "PC_ACT",
         s_adj == "SA") %>%
  quarter_to_date %>%
  filter(date >= as.Date("2009-01-01")) %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/100) %>%
  mutate(color = ifelse(geo == "FR", color2, color)) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + scale_color_identity() + add_3flags +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  xlab("") + ylab("Unemployment, Percentage of active population") +
  scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
                     labels = scales::percent_format(accuracy = 1))

Euro Area

Code
une_rt_q %>%
  filter(geo %in% c("EA20"),
         age == "Y20-64",
         sex == "T",
         unit == "PC_ACT",
         s_adj == "SA") %>%
  quarter_to_date %>%
  filter(date >= as.Date("1999-01-01")) %>%
  left_join(geo, by = "geo") %>%
  ggplot + geom_line() + theme_minimal()  +
  aes(x = date, y = values/100) +
  
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.25),
        legend.title = element_blank()) +
  xlab("") + ylab("Chômage (en % de la population active)") +
  scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
                     labels = scales::percent_format(accuracy = 1))