Productivity by industry (ISIC Rev.3) - PDB_GR

Data - OECD

Info

LAST_DOWNLOAD

Code
tibble(dataset = c("PDB_GR", "PDBI_I4", "ULC_EEQ")) %>%
  mutate(LAST_DOWNLOAD = as.Date(file.info(paste0("~/Library/Mobile\ Documents/com~apple~CloudDocs/website/data/oecd/", dataset, ".RData"))$mtime)) %>%
  mutate(html = paste0("[html](https://fgeerolf.com/data/oecd/", dataset, '.html)')) %>%
  print_table_conditional()
dataset LAST_DOWNLOAD html
PDB_GR 2024-04-17 [html]
PDBI_I4 2024-04-15 [html]
ULC_EEQ 2024-04-15 [html]

LAST_COMPILE

LAST_COMPILE
2024-07-01

Last

obsTime Nobs
2023 16

Number of Observations

Code
PDB_GR %>%
  left_join(PDB_GR_var$SUBJECT, by = "SUBJECT") %>%
  left_join(PDB_GR_var$MEASURE, by = "MEASURE") %>%
  group_by(SUBJECT, Subject, MEASURE, Measure) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

Data Structure

Code
PDB_GR_var %>%
  pluck("VAR_DESC") %>%
  {if (is_html_output()) print_table(.) else .}
id description
LOCATION Country
SUBJECT Subject
MEASURE Measure
TIME Time
OBS_VALUE Observation Value
TIME_FORMAT Time Format
OBS_STATUS Observation Status
UNIT Unit
POWERCODE Unit multiplier
REFERENCEPERIOD Reference period

SUBJECT

Code
PDB_GR %>%
  left_join(PDB_GR_var$SUBJECT, by = "SUBJECT") %>%
  group_by(SUBJECT, Subject) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

MEASURE

Code
PDB_GR %>%
  left_join(PDB_GR_var$MEASURE, by = "MEASURE") %>%
  group_by(MEASURE, Measure) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  {if (is_html_output()) print_table(.) else .}
MEASURE Measure Nobs
2015Y Index 42244
GRW Annual growth/change 42030
PCCONK Percentage point contribution to total capital growth, annual 8884
PCCONG Percentage point contribution to GDP growth, annual 6884
PCCONLP Percentage point contribution to labour productivity growth, annual (accounting for capital-deepening) 3372
PCCONLP2 Percentage point contribution to labour productivity growth, annual (accounting for the capital stock-output ratio) 2584
PCT Annual share 876

LOCATION

Code
PDB_GR %>%
  left_join(PDB_GR_var$LOCATION, by = "LOCATION") %>%
  group_by(LOCATION, Location) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  mutate(Flag = gsub(" ", "-", str_to_lower(gsub(" ", "-", Location))),
         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 .}

France, Germany, United States, EA19

GDP Per person employed

Code
PDB_GR %>%
  filter(SUBJECT %in% c("T_GDPEMP_V"), 
         MEASURE == "2015Y", 
         LOCATION %in% c("DEU", "FRA", "EA19", "USA")) %>%
  year_to_date %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(PDB_GR_var$LOCATION, by = "LOCATION") %>%
  mutate(Location = ifelse(LOCATION == "EA19", "Europe", Location)) %>%
  left_join(colors, by = c("Location" = "country")) %>%
  group_by(Location) %>%
  mutate(obsValue = 100*obsValue/obsValue[1]) %>%
  mutate(color = ifelse(LOCATION == "USA", color2, color)) %>%
  ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) + 
  scale_color_identity() + add_4flags +
  theme_minimal() + xlab("") + ylab("PIB par travailleur") +
  scale_x_date(breaks = seq(1960, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = seq(0, 200, 5))

GDP Per capita, constant prices

Code
PDB_GR %>%
  filter(SUBJECT %in% c("T_GDPPOP_V"), 
         MEASURE == "2015Y", 
         LOCATION %in% c("DEU", "FRA", "EA19", "USA")) %>%
  year_to_date %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(PDB_GR_var$LOCATION, by = "LOCATION") %>%
  mutate(Location = ifelse(LOCATION == "EA19", "Europe", Location)) %>%
  left_join(colors, by = c("Location" = "country")) %>%
  group_by(Location) %>%
  mutate(obsValue = 100*obsValue/obsValue[1]) %>%
  mutate(color = ifelse(LOCATION == "USA", color2, color)) %>%
  ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) + 
  scale_color_identity() + add_4flags +
  theme_minimal() + xlab("") + ylab("PIB par habitant") +
  scale_x_date(breaks = seq(1960, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = seq(0, 200, 5))

France, Germany, Spain, Italy, United States

GDP Per person employed

Code
PDB_GR %>%
  filter(SUBJECT %in% c("T_GDPEMP_V"), 
         MEASURE == "2015Y", 
         LOCATION %in% c("DEU", "ESP", "FRA", "ITA", "USA")) %>%
  year_to_date %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(PDB_GR_var$LOCATION, by = "LOCATION") %>%
  left_join(colors, by = c("Location" = "country")) %>%
  group_by(Location) %>%
  mutate(obsValue = 100*obsValue/obsValue[1]) %>%
  mutate(color = ifelse(LOCATION == "USA", color2, color)) %>%
  ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) + 
  scale_color_identity() + add_5flags +
  theme_minimal() + xlab("") + ylab("PIB par travailleur") +
  scale_x_date(breaks = seq(1960, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = seq(0, 200, 5))

GDP Per capita, constant prices

Code
PDB_GR %>%
  filter(SUBJECT %in% c("T_GDPPOP_V"), 
         MEASURE == "2015Y", 
         LOCATION %in% c("DEU", "ESP", "FRA", "ITA", "USA")) %>%
  year_to_date %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(PDB_GR_var$LOCATION, by = "LOCATION") %>%
  left_join(colors, by = c("Location" = "country")) %>%
  group_by(Location) %>%
  mutate(obsValue = 100*obsValue/obsValue[1]) %>%
  mutate(color = ifelse(LOCATION == "USA", color2, color)) %>%
  ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) + 
  scale_color_identity() + add_5flags +
  theme_minimal() + xlab("") + ylab("PIB par habitant") +
  scale_x_date(breaks = seq(1960, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = seq(0, 200, 5))