Monthly minimum wages - bi-annual data

Data - Eurostat

Info

source dataset .html .RData

eurostat

earn_mw_cur

2024-06-23 2024-06-30

Data on wages

source dataset .html .RData

eurostat

earn_mw_cur

2024-06-23 2024-06-30

eurostat

ei_lmlc_q

2024-06-23 2024-06-30

eurostat

lc_lci_lev

2024-06-23 2024-06-30

eurostat

lc_lci_r2_q

2024-06-18 2024-07-01

eurostat

nama_10_lp_ulc

2024-06-24 2024-06-30

eurostat

namq_10_lp_ulc

2024-06-24 2024-06-30

eurostat

tps00155

2024-06-24 2024-06-30

fred

wage

2024-06-30 2024-06-30

ilo

EAR_4MTH_SEX_ECO_CUR_NB_A

2024-06-20 2023-06-01

ilo

EAR_XEES_SEX_ECO_NB_Q

2024-06-20 2023-06-01

oecd

AV_AN_WAGE

2024-04-16 2023-09-09

oecd

AWCOMP

2024-07-01 2023-09-09

oecd

EAR_MEI

2024-04-16 2024-04-16

oecd

HH_DASH

2024-06-30 2023-09-09

oecd

MIN2AVE

2024-06-30 2023-09-09

oecd

RMW

2024-07-01 2024-03-12

oecd

ULC_EEQ

2024-07-01 2024-04-15

LAST_COMPILE

LAST_COMPILE
2024-07-01

Last

Code
earn_mw_cur %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(time)) %>%
  head(3) %>%
  print_table_conditional()
time Nobs
2024S1 81
2023S2 81
2023S1 81

currency

Code
earn_mw_cur %>%
  left_join(currency, by = "currency") %>%
  group_by(currency, Currency) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
currency Currency Nobs
NAC National currency 1811
EUR Euro 1810
PPS Purchasing Power Standard 1809

geo

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

Minimum Wage Increases

png

Code
i_g("bib/eurostat/earn_mw_cur_ex3.png")

2021S2-2023S1

Code
earn_mw_cur %>%
  filter(time %in% c("2023S1", "2022S2", "2022S1", "2021S2"),
         geo %in% c("AT", "BE", "CY", "DE", "EE", "EL", "ES", "FI", "FR", "IE",
                    "IT", "LT", "LU", "LV", "MT", "NL", "PT", "SI", "SK"),
         currency == "EUR") %>%
  filter(!is.na(values)) %>%
  spread(time, values) %>%
  select(-currency) %>%
  left_join(geo, by = "geo") %>%
  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, geo, Geo, everything()) %>%
  mutate(growth = round(100*(`2023S1`/`2021S2`-1), 1)) %>%
  arrange(-growth) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

National currency

Code
earn_mw_cur %>%
  filter(time %in% c("2023S1", "2022S2", "2022S1", "2021S2"),
         geo %in% c("AT", "BE", "CY", "DE", "EE", "EL", "ES", "FI", "FR", "IE",
                    "IT", "LT", "LU", "LV", "MT", "NL", "PT", "SI", "SK"),
         currency == "NAC") %>%
  filter(!is.na(values)) %>%
  spread(time, values) %>%
  select(-currency) %>%
  left_join(geo, by = "geo") %>%
  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, geo, Geo, everything()) %>%
  mutate(growth = round(100*(`2023S1`/`2021S2`-1), 1)) %>%
  arrange(-growth) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

Minimum Wages in Euros

png

Code
i_g("bib/eurostat/earn_mw_cur_ex1.png")

Javascript

Code
earn_mw_cur %>%
  filter(time %in% c("2000S1", "2005S1", "2010S1", "2015S1", "2020S1"), 
         currency == "EUR") %>%
  left_join(geo, by = "geo") %>%
  select(geo, Geo, time, values) %>%
  na.omit %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo),
         values = round(values)) %>%
  spread(time, values) %>%
  arrange(-`2020S1`) %>%
  mutate_at(vars(-1, -2), funs(ifelse(is.na(.), "", paste0(., " €")))) %>%
  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 .}

Map 2010S2

Code
earn_mw_cur %>%
  filter(time == "2010S2", 
         currency == "EUR") %>%
  left_join(geo, by = "geo") %>%
  select(geo, Geo, values) %>%
  right_join(europe_NUTS0, by = "geo") %>%
  filter(long >= -15, lat >= 33) %>%
  ggplot(., aes(x = long, y = lat, group = group, fill = values)) +
  geom_polygon() + coord_map() +
  scale_fill_viridis_c(na.value = "white",
                       labels = scales::dollar_format(accuracy = 1, prefix = "", suffix = "€"),
                       breaks = seq(0, 3000, 200),
                       values = c(0, 0.1, 0.2, 0.3, 0.4, 0.5, 1)) +
  theme_void() + theme(legend.position = c(0.25, 0.85)) + 
  labs(fill = "Minimum Wage")

Map 2020S2

Code
earn_mw_cur %>%
  filter(time == "2020S2", 
         currency == "EUR") %>%
  left_join(geo, by = "geo") %>%
  select(geo, Geo, values) %>%
  right_join(europe_NUTS0, by = "geo") %>%
  filter(long >= -15, lat >= 33) %>%
  ggplot(., aes(x = long, y = lat, group = group, fill = values)) +
  geom_polygon() + coord_map() +
  scale_fill_viridis_c(na.value = "white",
                       labels = scales::dollar_format(accuracy = 1, prefix = "", suffix = "€"),
                       breaks = seq(0, 3000, 200),
                       values = c(0, 0.1, 0.2, 0.3, 0.4, 0.5, 1)) +
  theme_void() + theme(legend.position = c(0.25, 0.85)) + 
  labs(fill = "Minimum Wage")

Minimum Wages in PPS

png

Code
i_g("bib/eurostat/earn_mw_cur_ex2.png")

Javascript

Code
earn_mw_cur %>%
  filter(time %in% c("2000S1", "2005S1", "2010S1", "2015S1", "2020S1"), 
         currency == "PPS") %>%
  left_join(geo, by = "geo") %>%
  select(geo, Geo, time, values) %>%
  na.omit %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo),
         values = round(values)) %>%
  spread(time, values) %>%
  arrange(-`2020S1`) %>%
  mutate_at(vars(-1, -2), funs(ifelse(is.na(.), "", paste0(., " €")))) %>%
  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 .}

Minimum Wages in National Currency

Javascript

Code
earn_mw_cur %>%
  filter(time %in% c("2000S1", "2005S1", "2010S1", "2015S1", "2020S1"), 
         currency == "NAC") %>%
  left_join(geo, by = "geo") %>%
  select(geo, Geo, time, values) %>%
  na.omit %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo),
         values = round(values)) %>%
  spread(time, values) %>%
  arrange(-`2020S1`) %>%
  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 .}