Unit labour costs and labour productivity (employment based), Total economy
Data - OECD
Info
Data on productivity
Data on wages
source | dataset | .html | .RData |
---|---|---|---|
2024-09-14 | 2024-09-14 | ||
2024-09-14 | 2024-09-14 | ||
2024-09-14 | 2024-09-14 | ||
2024-09-14 | 2024-08-20 | ||
2024-09-14 | 2024-09-14 | ||
2024-09-14 | 2024-09-14 | ||
2024-09-15 | 2024-09-14 | ||
2024-09-14 | 2024-09-14 | ||
2024-06-20 | 2023-06-01 | ||
2024-06-20 | 2023-06-01 | ||
2024-04-16 | 2024-09-15 | ||
2024-09-15 | 2023-09-09 | ||
2024-04-16 | 2024-04-16 | ||
2024-09-15 | 2023-09-09 | ||
2024-09-15 | 2023-09-09 | ||
2024-09-15 | 2024-03-12 | ||
2024-09-11 | 2024-04-15 |
LAST_COMPILE
LAST_COMPILE |
---|
2024-09-15 |
Last
obsTime | FREQUENCY | Nobs |
---|---|---|
2023 | A | 4 |
2022 | A | 138 |
2021 | A | 138 |
2023-Q4 | Q | 27 |
2023-Q3 | Q | 359 |
2023-Q2 | Q | 393 |
Number of observations
Code
%>%
ULC_EEQ left_join(ULC_EEQ_var$SUBJECT, by = c("SUBJECT")) %>%
group_by(SUBJECT, Subject, MEASURE, FREQUENCY) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F) else .} {
Data Structure
Code
$VAR_DESC %>%
ULC_EEQ_varif (is_html_output()) print_table(.) else .} {
id | description |
---|---|
LOCATION | Country |
SUBJECT | Subject |
MEASURE | Measure |
FREQUENCY | Frequency |
TIME | Time |
OBS_VALUE | Observation Value |
TIME_FORMAT | Time Format |
OBS_STATUS | Observation Status |
UNIT | Unit |
POWERCODE | Unit multiplier |
REFERENCEPERIOD | Reference period |
SUBJECT
Code
%>%
ULC_EEQ left_join(ULC_EEQ_var$SUBJECT, by = "SUBJECT") %>%
group_by(SUBJECT, Subject) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) print_table(.) else .} {
SUBJECT | Subject | Nobs |
---|---|---|
ULQEUL01 | Unit Labour Costs | 22408 |
ULQELP01 | GDP per person employed | 18962 |
ULQECU01 | Labour Compensation per employed person | 18189 |
MEASURE
Code
%>%
ULC_EEQ left_join(ULC_EEQ_var$MEASURE, by = "MEASURE") %>%
group_by(MEASURE, Measure) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) print_table(.) else .} {
MEASURE | Measure | Nobs |
---|---|---|
IXOBSA | Index, seasonally adjusted | 15645 |
GPSA | Quarterly change compared to previous quarter, seasonally adjusted | 15421 |
GYSA | Quarterly change on the same quarter of the previous year, seasonally adjusted | 15161 |
IXOB | Index | 13332 |
FREQUENCY
Code
%>%
ULC_EEQ left_join(ULC_EEQ_var$FREQUENCY, by = "FREQUENCY") %>%
group_by(FREQUENCY, Frequency) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) print_table(.) else .} {
FREQUENCY | Frequency | Nobs |
---|---|---|
Q | Quarterly | 55045 |
A | Annual | 4514 |
TIME_FORMAT
Code
%>%
ULC_EEQ left_join(ULC_EEQ_var$TIME_FORMAT, by = "TIME_FORMAT") %>%
group_by(TIME_FORMAT, Time_format) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) print_table(.) else .} {
TIME_FORMAT | Time_format | Nobs |
---|---|---|
P3M | Quarterly | 55045 |
P1Y | Annual | 4514 |
LOCATION
Code
%>%
ULC_EEQ left_join(ULC_EEQ_var$LOCATION, by = "LOCATION") %>%
group_by(LOCATION, Location) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F) else .} {
Unit Labour Cost
France / Germany
Code
%>%
ULC_EEQ filter(MEASURE == "IXOBSA",
== "ULQEUL01",
SUBJECT %in% c("FRA", "DEU"),
LOCATION == "Q") %>%
FREQUENCY left_join(ULC_EEQ_var$LOCATION, by = "LOCATION") %>%
%>%
quarter_to_date ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
theme_minimal() +
scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank()) +
scale_y_continuous(breaks = seq(0, 200, 10)) +
ylab("Unit Labour Cost") + xlab("")
France / Germany from 1990
Code
%>%
ULC_EEQ filter(MEASURE == "IXOBSA",
== "ULQEUL01",
SUBJECT %in% c("FRA", "DEU"),
LOCATION == "Q") %>%
FREQUENCY left_join(ULC_EEQ_var$LOCATION, by = "LOCATION") %>%
%>%
quarter_to_date filter(year(date) >= 1990) %>%
left_join(colors, by = c("Location" = "country")) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + ylab("GDP per person employed") + xlab("") + add_2flags +
scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_color_identity() +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank()) +
scale_y_continuous(breaks = seq(0, 200, 5))
France / Germany / United States
Unit Labour Costs - ULQEUL01
Code
%>%
ULC_EEQ filter(MEASURE == "IXOBSA",
== "ULQEUL01",
SUBJECT %in% c("FRA", "DEU", "USA"),
LOCATION == "Q") %>%
FREQUENCY left_join(ULC_EEQ_var$LOCATION, by = "LOCATION") %>%
%>%
quarter_to_date filter(year(date) >= 1990) %>%
group_by(Location) %>%
mutate(obsValue = 100*obsValue/obsValue[date == as.Date("1996-01-01")]) %>%
left_join(colors, by = c("Location" = "country")) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + ylab("GDP per person employed") + xlab("") + add_3flags +
scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_color_identity() +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank()) +
scale_y_continuous(breaks = seq(0, 200, 5))
GDP per person employed - ULQELP01
Code
%>%
ULC_EEQ filter(MEASURE == "IXOBSA",
== "ULQELP01",
SUBJECT %in% c("FRA", "DEU", "USA"),
LOCATION == "Q") %>%
FREQUENCY left_join(ULC_EEQ_var$LOCATION, by = "LOCATION") %>%
%>%
quarter_to_date filter(year(date) >= 1990) %>%
group_by(Location) %>%
mutate(obsValue = 100*obsValue/obsValue[date == as.Date("1996-01-01")]) %>%
left_join(colors, by = c("Location" = "country")) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + ylab("GDP per person employed") + xlab("") + add_3flags +
scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_color_identity() +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank()) +
scale_y_continuous(breaks = seq(0, 200, 5))
Labour Compensation per employed person - ULQECU01
Code
%>%
ULC_EEQ filter(MEASURE == "IXOBSA",
== "ULQECU01",
SUBJECT %in% c("FRA", "DEU", "USA"),
LOCATION == "Q") %>%
FREQUENCY left_join(ULC_EEQ_var$LOCATION, by = "LOCATION") %>%
%>%
quarter_to_date filter(year(date) >= 1990) %>%
group_by(Location) %>%
mutate(obsValue = 100*obsValue/obsValue[date == as.Date("1996-01-01")]) %>%
left_join(colors, by = c("Location" = "country")) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + ylab("Labour Compensation per employed person") + xlab("") + add_3flags +
scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_color_identity() +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank()) +
scale_y_continuous(breaks = seq(0, 300, 10))
Euro area / United States
Unit Labour Costs - ULQEUL01
All
Code
%>%
ULC_EEQ filter(MEASURE == "IXOBSA",
== "ULQEUL01",
SUBJECT %in% c("EA19", "USA"),
LOCATION == "Q") %>%
FREQUENCY left_join(ULC_EEQ_var$LOCATION, by = "LOCATION") %>%
%>%
quarter_to_date filter(year(date) >= 1990) %>%
group_by(Location) %>%
mutate(obsValue = 100*obsValue/obsValue[date == as.Date("1996-01-01")]) %>%
mutate(Location = ifelse(LOCATION == "EA19", "Europe", Location)) %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(color = ifelse(LOCATION == "USA", color2, color)) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + ylab("Unit Labour Cost") + xlab("") + add_2flags +
scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_color_identity() +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(0, 200, 5))
1995-
Code
%>%
ULC_EEQ filter(MEASURE == "IXOBSA",
== "ULQEUL01",
SUBJECT %in% c("EA19", "USA"),
LOCATION == "Q") %>%
FREQUENCY left_join(ULC_EEQ_var$LOCATION, by = "LOCATION") %>%
%>%
quarter_to_date filter(year(date) >= 1995) %>%
group_by(Location) %>%
mutate(obsValue = 100*obsValue/obsValue[date == as.Date("1995-01-01")]) %>%
mutate(Location = ifelse(LOCATION == "EA19", "Europe", Location)) %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(color = ifelse(LOCATION == "USA", color2, color)) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + ylab("Unit Labour Cost") + xlab("") + add_2flags +
scale_x_date(breaks = seq(1921, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_color_identity() +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(0, 200, 5))
1996-
Code
%>%
ULC_EEQ filter(MEASURE == "IXOBSA",
== "ULQEUL01",
SUBJECT %in% c("EA19", "USA"),
LOCATION == "Q") %>%
FREQUENCY left_join(ULC_EEQ_var$LOCATION, by = "LOCATION") %>%
%>%
quarter_to_date filter(year(date) >= 1996) %>%
group_by(Location) %>%
mutate(obsValue = 100*obsValue/obsValue[date == as.Date("1996-01-01")]) %>%
mutate(Location = ifelse(LOCATION == "EA19", "Europe", Location)) %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(color = ifelse(LOCATION == "USA", color2, color)) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + ylab("Unit Labour Cost") + xlab("") + add_2flags +
scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_color_identity() +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(0, 200, 5))
2017-
Code
%>%
ULC_EEQ filter(MEASURE == "IXOBSA",
== "ULQEUL01",
SUBJECT %in% c("EA19", "USA"),
LOCATION == "Q") %>%
FREQUENCY left_join(ULC_EEQ_var$LOCATION, by = "LOCATION") %>%
%>%
quarter_to_date filter(year(date) >= 2017) %>%
group_by(Location) %>%
mutate(obsValue = 100*obsValue/obsValue[date == as.Date("2017-01-01")]) %>%
mutate(Location = ifelse(LOCATION == "EA19", "Europe", Location)) %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(color = ifelse(LOCATION == "USA", color2, color)) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + ylab("Unit Labour Cost") + xlab("") + add_2flags +
scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_color_identity() +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank()) +
scale_y_continuous(breaks = seq(0, 200, 5))
2020-
Code
%>%
ULC_EEQ filter(MEASURE == "IXOBSA",
== "ULQEUL01",
SUBJECT %in% c("EA19", "USA"),
LOCATION == "Q") %>%
FREQUENCY left_join(ULC_EEQ_var$LOCATION, by = "LOCATION") %>%
%>%
quarter_to_date filter(year(date) >= 2020) %>%
group_by(Location) %>%
mutate(obsValue = 100*obsValue/obsValue[date == as.Date("2020-01-01")]) %>%
mutate(Location = ifelse(LOCATION == "EA19", "Europe", Location)) %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(color = ifelse(LOCATION == "USA", color2, color)) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + ylab("Unit Labour Cost") + xlab("") + add_2flags +
scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_color_identity() +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank()) +
scale_y_continuous(breaks = seq(0, 200, 5))
GDP per person employed - ULQELP01
All
Code
%>%
ULC_EEQ filter(MEASURE == "IXOBSA",
== "ULQELP01",
SUBJECT %in% c("EA19", "USA"),
LOCATION == "Q") %>%
FREQUENCY left_join(ULC_EEQ_var$LOCATION, by = "LOCATION") %>%
%>%
quarter_to_date filter(year(date) >= 1990) %>%
group_by(Location) %>%
mutate(obsValue = 100*obsValue/obsValue[date == as.Date("1996-01-01")]) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
theme_minimal() + ylab("GDP per person employed") + xlab("") +
scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank()) +
scale_y_continuous(breaks = seq(0, 200, 5))
2017-
Code
%>%
ULC_EEQ filter(MEASURE == "IXOBSA",
== "ULQELP01",
SUBJECT %in% c("EA19", "USA"),
LOCATION == "Q") %>%
FREQUENCY left_join(ULC_EEQ_var$LOCATION, by = "LOCATION") %>%
%>%
quarter_to_date filter(year(date) >= 2017) %>%
group_by(Location) %>%
mutate(obsValue = 100*obsValue/obsValue[date == as.Date("2017-01-01")]) %>%
mutate(Location = ifelse(LOCATION == "EA19", "Europe", Location)) %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(color = ifelse(LOCATION == "USA", color2, color)) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + ylab("Unit Labour Cost") + xlab("") + add_2flags +
scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_color_identity() +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank()) +
scale_y_continuous(breaks = seq(0, 200, 5))
2020-
Code
%>%
ULC_EEQ filter(MEASURE == "IXOBSA",
== "ULQELP01",
SUBJECT %in% c("EA19", "USA"),
LOCATION == "Q") %>%
FREQUENCY left_join(ULC_EEQ_var$LOCATION, by = "LOCATION") %>%
%>%
quarter_to_date filter(year(date) >= 2020) %>%
group_by(Location) %>%
mutate(obsValue = 100*obsValue/obsValue[date == as.Date("2020-01-01")]) %>%
mutate(Location = ifelse(LOCATION == "EA19", "Europe", Location)) %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(color = ifelse(LOCATION == "USA", color2, color)) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + ylab("Unit Labour Cost") + xlab("") + add_2flags +
scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_color_identity() +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank()) +
scale_y_continuous(breaks = seq(0, 200, 5))
Labour Compensation per employed person - ULQECU01
All
Code
%>%
ULC_EEQ filter(MEASURE == "IXOBSA",
== "ULQECU01",
SUBJECT %in% c("EA19", "USA"),
LOCATION == "Q") %>%
FREQUENCY left_join(ULC_EEQ_var$LOCATION, by = "LOCATION") %>%
%>%
quarter_to_date filter(year(date) >= 1990) %>%
group_by(Location) %>%
mutate(obsValue = 100*obsValue/obsValue[date == as.Date("1996-01-01")]) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
theme_minimal() + ylab("Labour Compensation per employed person") + xlab("") +
scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank()) +
scale_y_continuous(breaks = seq(0, 300, 10))
2017-
Code
%>%
ULC_EEQ filter(MEASURE == "IXOBSA",
== "ULQECU01",
SUBJECT %in% c("EA19", "USA"),
LOCATION == "Q") %>%
FREQUENCY left_join(ULC_EEQ_var$LOCATION, by = "LOCATION") %>%
%>%
quarter_to_date filter(year(date) >= 2017) %>%
group_by(Location) %>%
mutate(obsValue = 100*obsValue/obsValue[date == as.Date("2017-01-01")]) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
theme_minimal() + ylab("Labour Compensation per employed person") + xlab("") +
scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank()) +
scale_y_continuous(breaks = seq(0, 300, 10))
2019-Q4
Code
%>%
ULC_EEQ filter(MEASURE == "IXOBSA",
== "ULQECU01",
SUBJECT %in% c("EA19", "USA"),
LOCATION == "Q") %>%
FREQUENCY mutate(Location = ifelse(LOCATION == "EA19", "Euro area", "US"),
date = zoo::as.yearqtr(obsTime, format = "%Y-Q%q")) %>%
filter(date >= zoo::as.yearqtr("2019 Q4")) %>%
group_by(Location) %>%
mutate(obsValue = 100*obsValue/obsValue[date == zoo::as.yearqtr("2019 Q4")]) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
theme_minimal() + ylab("100 = 2019-Q4") + xlab("") +
::scale_x_yearqtr(format = "%Y-Q%q",
zoon = 15) +
scale_color_manual(values = c("#003399", "#B22234")) +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, hjust = 1)) +
scale_y_continuous(breaks = seq(0, 300, 2))
2020-
Code
%>%
ULC_EEQ filter(MEASURE == "IXOBSA",
== "ULQECU01",
SUBJECT %in% c("EA19", "USA"),
LOCATION == "Q") %>%
FREQUENCY left_join(ULC_EEQ_var$LOCATION, by = "LOCATION") %>%
%>%
quarter_to_date filter(year(date) >= 2020) %>%
group_by(Location) %>%
mutate(obsValue = 100*obsValue/obsValue[date == as.Date("2020-01-01")]) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
theme_minimal() + ylab("Labour Compensation per employed person") + xlab("") +
scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank()) +
scale_y_continuous(breaks = seq(0, 300, 2))
Euro area vs. US
2017-Q2
Code
%>%
ULC_EEQ filter(MEASURE == "IXOBSA",
%in% c("EA19", "USA"),
LOCATION == "Q") %>%
FREQUENCY left_join(ULC_EEQ_var$SUBJECT, by = "SUBJECT") %>%
mutate(Subject = ifelse(SUBJECT == "ULQECU01", "Labour Compensation\nper person employed", Subject)) %>%
mutate(Location = ifelse(LOCATION == "EA19", "Euro area", "US"),
date = zoo::as.yearqtr(obsTime, format = "%Y-Q%q")) %>%
filter(date >= zoo::as.yearqtr("2017 Q2")) %>%
mutate(Subject = factor(Subject, levels = c("Unit Labour Costs ",
"Labour Compensation\nper person employed",
"GDP per person employed"))) %>%
group_by(Location, Subject) %>%
mutate(obsValue = 100*obsValue/obsValue[date == zoo::as.yearqtr("2017 Q2")]) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
theme_minimal() + ylab("100 = 2019-Q4") + xlab("") +
::scale_x_yearqtr(format = "%Y-Q%q",
zoobreaks = zoo::as.yearqtr(c("2017 Q2", "2017 Q4", "2018 Q2", "2018 Q4",
"2019 Q2", "2019 Q4", "2020 Q2", "2020 Q4",
"2021 Q2", "2021 Q4", "2022 Q2", "2022 Q4",
"2023 Q2"))) +
scale_color_manual(values = c("#003399", "#B22234")) +
theme(legend.position = "top",
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, hjust = 1)) +
scale_y_continuous(breaks = seq(0, 300, 2)) +
facet_wrap(~ Subject)
2019-Q4
Code
%>%
ULC_EEQ filter(MEASURE == "IXOBSA",
%in% c("EA19", "USA"),
LOCATION == "Q") %>%
FREQUENCY left_join(ULC_EEQ_var$SUBJECT, by = "SUBJECT") %>%
mutate(Subject = ifelse(SUBJECT == "ULQECU01", "Labour Compensation\nper person employed", Subject)) %>%
mutate(Location = ifelse(LOCATION == "EA19", "Euro area", "US"),
date = zoo::as.yearqtr(obsTime, format = "%Y-Q%q")) %>%
filter(date >= zoo::as.yearqtr("2019 Q4")) %>%
mutate(Subject = factor(Subject, levels = c("Unit Labour Costs ",
"Labour Compensation\nper person employed",
"GDP per person employed"))) %>%
group_by(Location, Subject) %>%
mutate(obsValue = 100*obsValue/obsValue[date == zoo::as.yearqtr("2019 Q4")]) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
theme_minimal() + ylab("100 = 2019-Q4") + xlab("") +
::scale_x_yearqtr(format = "%Y-Q%q",
zoobreaks = zoo::as.yearqtr(c("2019 Q4", "2020 Q2", "2020 Q4",
"2021 Q2", "2021 Q4", "2022 Q2",
"2022 Q4", "2023 Q2"))) +
scale_color_manual(values = c("#003399", "#B22234")) +
theme(legend.position = "top",
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, hjust = 1)) +
scale_y_continuous(breaks = seq(0, 300, 2)) +
facet_wrap(~ Subject)
France, US, Eurozone
2019-Q4
Code
%>%
ULC_EEQ filter(MEASURE == "IXOBSA",
%in% c("EA19", "USA", "FRA"),
LOCATION == "Q") %>%
FREQUENCY left_join(ULC_EEQ_var$SUBJECT, by = "SUBJECT") %>%
mutate(Subject = ifelse(SUBJECT == "ULQECU01", "Labour Compensation\nper person employed", Subject)) %>%
mutate(Location = case_when(LOCATION == "EA19" ~ "Euro area",
== "USA" ~ "United States",
LOCATION == "FRA" ~ "France",
LOCATION ~ "NA"),
T date = zoo::as.yearqtr(obsTime, format = "%Y-Q%q")) %>%
filter(date >= zoo::as.yearqtr("2019 Q4")) %>%
mutate(Subject = factor(Subject, levels = c("Unit Labour Costs ",
"Labour Compensation\nper person employed",
"GDP per person employed"))) %>%
group_by(Location, Subject) %>%
mutate(obsValue = 100*obsValue/obsValue[date == zoo::as.yearqtr("2019 Q4")]) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
theme_minimal() + ylab("100 = 2019-Q4") + xlab("") + add_9flags +
::scale_x_yearqtr(format = "%Y-Q%q",
zoobreaks = zoo::as.yearqtr(c("2019 Q4", "2020 Q2", "2020 Q4",
"2021 Q2", "2021 Q4", "2022 Q2",
"2022 Q4", "2023 Q2"))) +
scale_color_manual(values = c("#FFCC00", "#002395", "#B22234")) +
theme(legend.position = "top",
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, hjust = 1)) +
scale_y_continuous(breaks = seq(0, 300, 2)) +
facet_wrap(~ Subject)
2000-
Code
%>%
ULC_EEQ filter(MEASURE == "IXOBSA",
== "ULQELP01",
SUBJECT %in% c("EA19", "USA", "FRA"),
LOCATION == "Q") %>%
FREQUENCY left_join(ULC_EEQ_var$LOCATION, by = "LOCATION") %>%
%>%
quarter_to_date filter(year(date) >= 2008) %>%
group_by(Location) %>%
mutate(obsValue = 100*obsValue/obsValue[date == as.Date("2008-01-01")]) %>%
mutate(Location = ifelse(LOCATION == "EA19", "Europe", Location)) %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(color = color2) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + ylab("GDP Per person employed") + xlab("") + add_3flags +
scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_color_identity() +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank()) +
scale_y_continuous(breaks = seq(0, 200, 5))
2017-
Code
%>%
ULC_EEQ filter(MEASURE == "IXOBSA",
== "ULQELP01",
SUBJECT %in% c("EA19", "USA", "FRA"),
LOCATION == "Q") %>%
FREQUENCY left_join(ULC_EEQ_var$LOCATION, by = "LOCATION") %>%
%>%
quarter_to_date filter(year(date) >= 2017) %>%
group_by(Location) %>%
mutate(obsValue = 100*obsValue/obsValue[date == as.Date("2017-01-01")]) %>%
mutate(Location = ifelse(LOCATION == "EA19", "Europe", Location)) %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(color = color2) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + ylab("GDP Per person employed") + xlab("") + add_3flags +
scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_color_identity() +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank()) +
scale_y_continuous(breaks = seq(0, 200, 5))