| source | dataset | Title | .html | .rData |
|---|---|---|---|---|
| eurostat | lc_lci_r2_q | Labour cost index by NACE Rev. 2 activity - nominal value, quarterly data | 2025-12-25 | 2025-12-27 |
Labour cost index by NACE Rev. 2 activity - nominal value, quarterly data
Data - Eurostat
Info
Info
Data on wages
Code
load_data("wages.RData")
wages %>%
arrange(-(dataset == "lc_lci_r2_q")) %>%
source_dataset_file_updates()| source | dataset | Title | .html | .rData |
|---|---|---|---|---|
| eurostat | lc_lci_r2_q | Labour cost index by NACE Rev. 2 activity - nominal value, quarterly data | 2025-12-25 | 2025-12-27 |
| eurostat | earn_mw_cur | Monthly minimum wages - bi-annual data | 2025-12-27 | 2025-12-27 |
| eurostat | ei_lmlc_q | Labour cost index, nominal value - quarterly data | 2025-12-27 | 2025-12-27 |
| eurostat | lc_lci_lev | Labour cost levels by NACE Rev. 2 activity | 2025-12-25 | 2025-12-27 |
| eurostat | nama_10_lp_ulc | Labour productivity and unit labour costs | 2025-12-25 | 2025-12-27 |
| eurostat | namq_10_lp_ulc | Labour productivity and unit labour costs | 2025-12-25 | 2025-12-27 |
| eurostat | tps00155 | Minimum wages | 2025-12-25 | 2025-12-27 |
| fred | wage | Wage | 2025-12-25 | 2025-12-25 |
| ilo | EAR_4MTH_SEX_ECO_CUR_NB_A | Mean nominal monthly earnings of employees by sex and economic activity -- Harmonized series | 2024-06-20 | 2023-06-01 |
| ilo | EAR_XEES_SEX_ECO_NB_Q | Mean nominal monthly earnings of employees by sex and economic activity -- Harmonized series | 2024-06-20 | 2023-06-01 |
| oecd | AV_AN_WAGE | Average annual wages | 2025-12-26 | 2025-12-26 |
| oecd | AWCOMP | Taxing Wages - Comparative tables | 2025-12-26 | 2023-09-09 |
| oecd | EAR_MEI | Hourly Earnings (MEI) | 2024-04-16 | 2024-04-16 |
| oecd | HH_DASH | Household Dashboard | 2025-12-26 | 2023-09-09 |
| oecd | MIN2AVE | Minimum relative to average wages of full-time workers - MIN2AVE | 2025-12-26 | 2023-09-09 |
| oecd | RMW | Real Minimum Wages - RMW | 2025-12-26 | 2024-03-12 |
| oecd | ULC_EEQ | Unit labour costs and labour productivity (employment based), Total economy | 2025-12-26 | 2024-04-15 |
Last
Code
lc_lci_r2_q %>%
group_by(time) %>%
summarise(Nobs = n()) %>%
arrange(desc(time)) %>%
head(2) %>%
print_table_conditional()| time | Nobs |
|---|---|
| 2025Q3 | 26862 |
| 2025Q2 | 27798 |
lcstruct
Code
lc_lci_r2_q %>%
left_join(lcstruct, by = "lcstruct") %>%
group_by(lcstruct, Lcstruct) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
print_table_conditional()| lcstruct | Lcstruct | Nobs |
|---|---|---|
| D11 | Wages and salaries (total) | 775636 |
| D12_D4_MD5 | Labour costs other than wages and salaries | 775620 |
| D1_D4_MD5 | Labour cost for LCI (compensation of employees plus taxes minus subsidies) | 770672 |
| D1_D4_MD5_XB | Labour cost for LCI excluding bonuses | 499316 |
nace_r2
Code
lc_lci_r2_q %>%
left_join(nace_r2, by = "nace_r2") %>%
group_by(nace_r2, Nace_r2) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
print_table_conditional()| nace_r2 | Nace_r2 | Nobs |
|---|---|---|
| B | Mining and quarrying | 111726 |
| C | Manufacturing | 111722 |
| E | Water supply; sewerage, waste management and remediation activities | 111702 |
| D | Electricity, gas, steam and air conditioning supply | 111690 |
| F | Construction | 111654 |
| K | Financial and insurance activities | 110858 |
| B-E | Industry (except construction) | 110814 |
| H | Transportation and storage | 110806 |
| J | Information and communication | 110790 |
| N | Administrative and support service activities | 110778 |
| M | Professional, scientific and technical activities | 110770 |
| I | Accommodation and food service activities | 110754 |
| G | Wholesale and retail trade; repair of motor vehicles and motorcycles | 110726 |
| B-F | Industry and construction | 110706 |
| L | Real estate activities | 110518 |
| B-N | Business economy | 110202 |
| G-N | Services of the business economy | 109902 |
| G-J | Wholesale and retail trade; transport; accommodation and food service activities; information and communication | 109590 |
| K-N | Financial and insurance activities; real estate activities; professional, scientific and technical activities; administrative and support service activities | 109374 |
| R | Arts, entertainment and recreation | 103426 |
| S | Other service activities | 103406 |
| P | Education | 102474 |
| Q | Human health and social work activities | 102422 |
| B-S | Industry, construction and services (except activities of households as employers and extra-territorial organisations and bodies) | 102130 |
| O | Public administration and defence; compulsory social security | 101558 |
| O-S | Public administration and defence; compulsory social security; education; human health and social work activities; arts, entertainment and recreation; other service activities | 100746 |
unit
Code
lc_lci_r2_q %>%
left_join(unit, by = "unit") %>%
group_by(unit, Unit) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
print_table_conditional()| unit | Unit | Nobs |
|---|---|---|
| PCH_PRE | Percentage change on previous period | 963296 |
| PCH_SM | Percentage change compared to same period in previous year | 933158 |
| I20 | Index, 2020=100 | 924790 |
s_adj
Code
lc_lci_r2_q %>%
left_join(s_adj, by = "s_adj") %>%
group_by(s_adj, S_adj) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
print_table_conditional()| s_adj | S_adj | Nobs |
|---|---|---|
| CA | Calendar adjusted data, not seasonally adjusted data | 1007514 |
| SCA | Seasonally and calendar adjusted data | 1006826 |
| NSA | Unadjusted data (i.e. neither seasonally adjusted nor calendar adjusted data) | 806904 |
geo
Code
lc_lci_r2_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 .}time
Code
lc_lci_r2_q %>%
group_by(time) %>%
summarise(Nobs = n()) %>%
arrange(desc(time)) %>%
print_table_conditional()Last
Europe
Code
lc_lci_r2_q %>%
filter(geo == "EA20",
unit != "I20") %>%
filter(time == max(time)) %>%
mutate(variable = paste0(s_adj, " - ", unit)) %>%
select(-unit, -s_adj) %>%
spread(variable, values) %>%
select_if(~ n_distinct(.) > 1) %>%
print_table_conditional()France
Code
lc_lci_r2_q %>%
filter(geo == "FR",
unit != "I20") %>%
filter(time == max(time)) %>%
mutate(variable = paste0(s_adj, " - ", unit)) %>%
select(-unit, -s_adj) %>%
spread(variable, values) %>%
select_if(~ n_distinct(.) > 1) %>%
print_table_conditional()Germany
Code
lc_lci_r2_q %>%
filter(geo == "DE",
unit != "I20") %>%
filter(time == max(time)) %>%
mutate(variable = paste0(s_adj, " - ", unit)) %>%
select(-unit, -s_adj) %>%
spread(variable, values) %>%
select_if(~ n_distinct(.) > 1) %>%
print_table_conditional()Indices
France
All
Nominal
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "I20",
s_adj == "SCA",
geo %in% c("FR")) %>%
quarter_to_date %>%
left_join(lcstruct, by = "lcstruct") %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
group_by(Lcstruct) %>%
arrange(date) %>%
mutate(values = 100*values/values[1]) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = Lcstruct)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(80, 200, 5)) +
theme(legend.position = c(0.45, 0.90),
legend.title = element_blank())
2017T2-
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "I20",
s_adj == "SCA",
geo %in% c("FR")) %>%
quarter_to_date %>%
filter(date >= as.Date("2017-04-01")) %>%
left_join(lcstruct, by = "lcstruct") %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
group_by(Lcstruct) %>%
arrange(date) %>%
mutate(values = 100*values/values[1]) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = Lcstruct)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(80, 200, 5)) +
theme(legend.position = c(0.45, 0.90),
legend.title = element_blank()) +
geom_text(data = . %>%
filter(date %in% max(date)),
aes(x = date, y = values, color = Lcstruct, label = round(values, 1)))
Business
All
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-N",
unit == "I20",
s_adj == "SCA",
geo %in% c("FR")) %>%
quarter_to_date %>%
left_join(lcstruct, by = "lcstruct") %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
group_by(Lcstruct) %>%
arrange(date) %>%
mutate(values = 100*values/values[1]) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = Lcstruct)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(50, 200, 5)) +
theme(legend.position = c(0.45, 0.90),
legend.title = element_blank())
1999-
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-N",
unit == "I20",
s_adj == "SCA",
geo %in% c("FR")) %>%
quarter_to_date %>%
filter(date >= as.Date("1999-01-01")) %>%
left_join(lcstruct, by = "lcstruct") %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
group_by(Lcstruct) %>%
arrange(date) %>%
mutate(values = 100*values/values[1]) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = Lcstruct)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(50, 200, 5)) +
theme(legend.position = c(0.45, 0.90),
legend.title = element_blank())
Public
All
Code
lc_lci_r2_q %>%
filter(nace_r2 == "O-S",
unit == "I20",
s_adj == "SCA",
geo %in% c("FR")) %>%
quarter_to_date %>%
left_join(lcstruct, by = "lcstruct") %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
group_by(Lcstruct) %>%
arrange(date) %>%
mutate(values = 100*values/values[1]) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = Lcstruct)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(50, 200, 5)) +
theme(legend.position = c(0.45, 0.90),
legend.title = element_blank())
2017T2-
Code
lc_lci_r2_q %>%
filter(nace_r2 == "O-S",
unit == "I20",
s_adj == "SCA",
geo %in% c("FR")) %>%
quarter_to_date %>%
filter(date >= as.Date("2017-04-01")) %>%
left_join(lcstruct, by = "lcstruct") %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
group_by(Lcstruct) %>%
arrange(date) %>%
mutate(values = 100*values/values[1]) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = Lcstruct)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(50, 200, 2)) +
theme(legend.position = c(0.45, 0.90),
legend.title = element_blank()) +
geom_text(data = . %>%
filter(date %in% max(date)),
aes(x = date, y = values, color = Lcstruct, label = round(values, 1)))
Germany
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "I20",
s_adj == "SCA",
geo %in% c("DE")) %>%
quarter_to_date %>%
left_join(lcstruct, by = "lcstruct") %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
group_by(Lcstruct) %>%
arrange(date) %>%
mutate(values = 100*values/values[1]) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = Lcstruct)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(60, 200, 5)) +
theme(legend.position = c(0.45, 0.90),
legend.title = element_blank())
Italy
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "I20",
s_adj == "SCA",
geo %in% c("IT")) %>%
quarter_to_date %>%
left_join(lcstruct, by = "lcstruct") %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
group_by(Lcstruct) %>%
arrange(date) %>%
mutate(values = 100*values/values[1]) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = Lcstruct)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(60, 200, 5)) +
theme(legend.position = c(0.45, 0.90),
legend.title = element_blank())
Spain
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "I20",
s_adj == "SCA",
geo %in% c("ES")) %>%
quarter_to_date %>%
left_join(lcstruct, by = "lcstruct") %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
group_by(Lcstruct) %>%
arrange(date) %>%
mutate(values = 100*values/values[1]) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = Lcstruct)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(60, 200, 5)) +
theme(legend.position = c(0.45, 0.90),
legend.title = element_blank())
Euro Area
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "I20",
s_adj == "SCA",
geo %in% c("EA")) %>%
quarter_to_date %>%
left_join(lcstruct, by = "lcstruct") %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
group_by(Lcstruct) %>%
arrange(date) %>%
mutate(values = 100*values/values[1]) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = Lcstruct)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(60, 200, 5)) +
theme(legend.position = c(0.45, 0.90),
legend.title = element_blank())
Netherlands
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "I20",
s_adj == "SCA",
geo %in% c("NL")) %>%
quarter_to_date %>%
left_join(lcstruct, by = "lcstruct") %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = Lcstruct)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(60, 200, 5)) +
theme(legend.position = c(0.45, 0.80),
legend.title = element_blank())
Europe and Eurozone
All
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "PCH_SM",
lcstruct == "D11",
s_adj == "CA",
geo %in% c("EA19", "EU27_2020")) %>%
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 = Geo)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
labels = percent_format(a = 1)) +
theme(legend.position = c(0.25, 0.90),
legend.title = element_blank())
2017-
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "PCH_SM",
lcstruct == "D11",
s_adj == "CA",
geo %in% c("EA19", "EU27_2020")) %>%
quarter_to_date %>%
filter(date >= as.Date("2017-01-01")) %>%
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 = Geo)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
labels = percent_format(a = 1)) +
theme(legend.position = c(0.25, 0.90),
legend.title = element_blank())
2022Q1-Q2 - Tables
D11 - Wages and salaries (total)
%
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit %in% c("PCH_SM", "PCH_PRE"),
lcstruct == "D11",
time == max(time),
s_adj == "CA") %>%
left_join(geo, by = "geo") %>%
left_join(unit, by = "unit") %>%
select_if(~ n_distinct(.) > 1) %>%
select(-unit) %>%
spread(Unit, values) %>%
print_table_conditional()Indice
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit %in% c("PCH_SM", "PCH_PRE"),
lcstruct == "D11",
time == max(time),
s_adj == "CA") %>%
left_join(geo, by = "geo") %>%
left_join(unit, by = "unit") %>%
select_if(~ n_distinct(.) > 1) %>%
select(-unit) %>%
spread(Unit, values) %>%
print_table_conditional()D12_D4_MD5 - Labour costs other than wages and salaries
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "PCH_SM",
lcstruct == "D12_D4_MD5",
time %in% c("2022Q2","2022Q1"),
s_adj == "CA") %>%
left_join(geo, by = "geo") %>%
select_if(~ n_distinct(.) > 1) %>%
spread(time, values) %>%
arrange(`2022Q2`) %>%
print_table_conditional()D1_D4_MD5 - Labour cost for LCI (compensation of employees plus taxes minus subsidies)
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "PCH_SM",
lcstruct == "D12_D4_MD5",
time %in% c("2022Q2","2022Q1"),
s_adj == "CA") %>%
left_join(geo, by = "geo") %>%
select_if(~ n_distinct(.) > 1) %>%
spread(time, values) %>%
arrange(`2022Q2`) %>%
print_table_conditional()D11 - Wages and salaries
France, Germany
Indice
Tous
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-N",
unit == "I20",
s_adj == "SCA",
lcstruct == "D11",
geo %in% c("FR", "DE")) %>%
quarter_to_date %>%
#filter(date >= as.Date("1998-01-01")) %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
group_by(geo) %>%
arrange(date) %>%
mutate(values = 100*values/values[1]) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = color)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = c(seq(1998, 2100, 2)) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(90, 200, 5)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
legend.title = element_blank())
1999-
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-N",
unit == "I20",
s_adj == "SCA",
lcstruct == "D11",
geo %in% c("FR", "DE")) %>%
quarter_to_date %>%
filter(date >= as.Date("1999-01-01")) %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
group_by(geo) %>%
arrange(date) %>%
mutate(values = 100*values/values[1]) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = color)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = c(seq(1999, 2100, 5), seq(1997, 2100, 5)) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(90, 200, 5)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
legend.title = element_blank())
1998-
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-N",
unit == "I20",
s_adj == "SCA",
lcstruct == "D11",
geo %in% c("FR", "DE")) %>%
quarter_to_date %>%
filter(date >= as.Date("1998-01-01")) %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
group_by(geo) %>%
arrange(date) %>%
mutate(values = 100*values/values[1]) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = color)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = c(seq(1998, 2100, 2)) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(90, 200, 5)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
legend.title = element_blank())
France, Germany, Italy, Spain, Europe
Indice
All
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-N",
unit == "I20",
s_adj == "SCA",
lcstruct == "D11",
geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
quarter_to_date %>%
left_join(geo, by = "geo") %>%
mutate(Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
group_by(geo) %>%
arrange(date) %>%
mutate(values = 100*values/values[1]) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = color)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(90, 200, 5)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
legend.title = element_blank())
2001-
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-N",
unit == "I20",
s_adj == "SCA",
lcstruct == "D11",
geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
quarter_to_date %>%
filter(date >= as.Date("2001-01-01")) %>%
left_join(geo, by = "geo") %>%
mutate(Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
group_by(geo) %>%
arrange(date) %>%
mutate(values = 100*values/values[1]) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = color)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(90, 200, 5)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
legend.title = element_blank())
2017T2-
B-N
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-N",
unit == "I20",
s_adj == "SCA",
lcstruct == "D11",
geo %in% c("FR", "DE", "ES", "IT", "EA20")) %>%
quarter_to_date %>%
filter(date >= as.Date("2017-04-01")) %>%
left_join(geo, by = "geo") %>%
mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
group_by(geo) %>%
arrange(date) %>%
mutate(values = 100*values/values[1]) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = color)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(90, 200, 5)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
legend.title = element_blank())
B-S
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "I20",
s_adj == "SCA",
lcstruct == "D11",
geo %in% c("FR", "DE", "ES", "IT", "EA20")) %>%
quarter_to_date %>%
filter(date >= as.Date("2017-04-01")) %>%
left_join(geo, by = "geo") %>%
mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
group_by(geo) %>%
arrange(date) %>%
mutate(values = 100*values/values[1]) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = color)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(90, 200, 5)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
legend.title = element_blank())
Change
All
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "PCH_SM",
lcstruct == "D11",
s_adj == "CA",
geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
quarter_to_date %>%
left_join(geo, by = "geo") %>%
mutate(values = values/100,
Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = color)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
labels = percent_format(a = 1)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
legend.title = element_blank())
2017-
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "PCH_SM",
lcstruct == "D11",
s_adj == "CA",
geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
quarter_to_date %>%
filter(date >= as.Date("2017-01-01")) %>%
left_join(geo, by = "geo") %>%
mutate(values = values/100,
Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = color)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
labels = percent_format(a = 1)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
legend.title = element_blank())
2020-
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "PCH_SM",
lcstruct == "D11",
s_adj == "CA",
geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
quarter_to_date %>%
filter(date >= as.Date("2020-01-01")) %>%
left_join(geo, by = "geo") %>%
mutate(values = values/100,
Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = color)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = "6 months",
labels = date_format("%Y %b")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
labels = percent_format(a = 1)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
legend.title = element_blank())
3 years
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "PCH_SM",
lcstruct == "D11",
s_adj == "CA",
geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
quarter_to_date %>%
filter(date >= Sys.Date() - years(3)) %>%
left_join(geo, by = "geo") %>%
mutate(values = values/100,
Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = color)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = "3 months",
labels = date_format("%Y %b")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
labels = percent_format(a = 1)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
legend.title = element_blank())
2 years
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "PCH_SM",
lcstruct == "D11",
s_adj == "CA",
geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
quarter_to_date %>%
filter(date >= Sys.Date() - years(2)) %>%
left_join(geo, by = "geo") %>%
mutate(values = values/100,
Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = color)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = "3 months",
labels = date_format("%Y %b")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
labels = percent_format(a = 1)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
legend.title = element_blank())
Netherlands, Portugal, Hungary, Italy
All
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "PCH_SM",
lcstruct == "D11",
s_adj == "CA",
geo %in% c("NL", "PT", "HU", "IT")) %>%
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() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
labels = percent_format(a = 1)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
legend.title = element_blank())
2017-
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "PCH_SM",
lcstruct == "D11",
s_adj == "CA",
geo %in% c("NL", "PT", "HU", "IT")) %>%
quarter_to_date %>%
filter(date >= as.Date("2017-01-01")) %>%
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() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
labels = percent_format(a = 1)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
legend.title = element_blank())
D12_D4_MD5 - Labour costs other than wages and salaries
France, Germany, Italy, Spain, Europe
All
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "PCH_SM",
lcstruct == "D12_D4_MD5",
s_adj == "CA",
geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
quarter_to_date %>%
left_join(geo, by = "geo") %>%
mutate(values = values/100,
Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = color)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
labels = percent_format(a = 1)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
legend.title = element_blank())
2017-
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "PCH_SM",
lcstruct == "D12_D4_MD5",
s_adj == "CA",
geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
quarter_to_date %>%
filter(date >= as.Date("2017-01-01")) %>%
left_join(geo, by = "geo") %>%
mutate(values = values/100,
Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = color)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
labels = percent_format(a = 1)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
legend.title = element_blank())
2020-
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "PCH_SM",
lcstruct == "D12_D4_MD5",
s_adj == "CA",
geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
quarter_to_date %>%
filter(date >= as.Date("2020-01-01")) %>%
left_join(geo, by = "geo") %>%
mutate(values = values/100,
Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = color)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = "6 months",
labels = date_format("%Y %b")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
labels = percent_format(a = 1)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
legend.title = element_blank())
3 years
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "PCH_SM",
lcstruct == "D12_D4_MD5",
s_adj == "CA",
geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
quarter_to_date %>%
filter(date >= Sys.Date() - years(3)) %>%
left_join(geo, by = "geo") %>%
mutate(values = values/100,
Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = color)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = "3 months",
labels = date_format("%Y %b")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
labels = percent_format(a = 1)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
legend.title = element_blank())
2 years
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "PCH_SM",
lcstruct == "D12_D4_MD5",
s_adj == "CA",
geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
quarter_to_date %>%
filter(date >= Sys.Date() - years(2)) %>%
left_join(geo, by = "geo") %>%
mutate(values = values/100,
Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = color)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = "3 months",
labels = date_format("%Y %b")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
labels = percent_format(a = 1)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
legend.title = element_blank())
D1_D4_MD5 - Labour cost for LCI
France, Germany, Italy, Spain
All
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "PCH_SM",
lcstruct == "D1_D4_MD5",
s_adj == "CA",
geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
quarter_to_date %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
mutate(values = values/100,
Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = color)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
labels = percent_format(a = 1)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
legend.title = element_blank())
2017-
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "PCH_SM",
lcstruct == "D1_D4_MD5",
s_adj == "CA",
geo %in% c("FR", "DE", "ES", "IT")) %>%
quarter_to_date %>%
filter(date >= as.Date("2017-01-01")) %>%
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() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
labels = percent_format(a = 1)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
legend.title = element_blank())
2020-
Code
lc_lci_r2_q %>%
filter(nace_r2 == "B-S",
unit == "PCH_SM",
lcstruct == "D1_D4_MD5",
s_adj == "CA",
geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
quarter_to_date %>%
filter(date >= as.Date("2020-01-01")) %>%
left_join(geo, by = "geo") %>%
mutate(values = values/100,
Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
ggplot(.) + geom_line(aes(x = date, y = values, color = color)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = "6 months",
labels = date_format("%Y %b")) +
scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
labels = percent_format(a = 1)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.75, 0.90),
legend.title = element_blank())