National accounts employment data by industry (up to NACE A*64)

Data - Eurostat

Info

source dataset .html .RData

eurostat

nama_10_a64

2024-06-20 2024-06-18

eurostat

nama_10_a64_e

2024-06-20 2024-06-18

Data on employment

source dataset .html .RData

bls

jt

2024-05-01 NA

bls

la

2024-06-19 NA

bls

ln

2024-06-19 NA

eurostat

nama_10_a10_e

2024-06-23 2024-06-23

eurostat

nama_10_a64_e

2024-06-20 2024-06-18

eurostat

namq_10_a10_e

2024-06-20 2024-06-08

eurostat

une_rt_m

2024-06-20 2024-06-08

oecd

ALFS_EMP

2024-04-16 2024-05-12

oecd

EPL_T

2024-04-16 2023-12-10

oecd

LFS_SEXAGE_I_R

2024-06-20 2024-04-15

oecd

STLABOUR

2024-06-20 2024-05-06

Data on macro

source dataset .html .RData

eurostat

nama_10_a10

2024-06-23 2024-06-08

eurostat

nama_10_a10_e

2024-06-23 2024-06-23

eurostat

nama_10_gdp

2024-06-20 2024-06-18

eurostat

nama_10_lp_ulc

2024-06-20 2024-06-08

eurostat

namq_10_a10

2024-06-20 2024-06-23

eurostat

namq_10_a10_e

2024-06-20 2024-06-08

eurostat

namq_10_gdp

2024-06-20 2024-06-08

eurostat

namq_10_lp_ulc

2024-06-20 2024-06-08

eurostat

namq_10_pc

2024-06-20 2024-06-18

eurostat

nasa_10_nf_tr

2024-06-21 2024-06-08

eurostat

nasq_10_nf_tr

2024-06-20 2024-06-08

fred

gdp

2024-06-20 2024-06-07

oecd

QNA

2024-06-06 2024-06-05

oecd

SNA_TABLE1

2024-06-20 2024-06-01

oecd

SNA_TABLE14A

2024-06-20 2024-04-15

oecd

SNA_TABLE2

2024-06-20 2024-04-11

oecd

SNA_TABLE6A

2024-06-20 2024-04-15

wdi

NE.RSB.GNFS.ZS

2024-06-20 2024-04-14

wdi

NY.GDP.MKTP.CD

2024-06-20 2024-05-06

wdi

NY.GDP.MKTP.PP.CD

2024-06-20 2024-04-14

wdi

NY.GDP.PCAP.CD

2024-06-20 2024-04-22

wdi

NY.GDP.PCAP.KD

2024-06-20 2024-05-06

wdi

NY.GDP.PCAP.PP.CD

2024-06-20 2024-04-22

wdi

NY.GDP.PCAP.PP.KD

2024-06-20 2024-05-06

LAST_COMPILE

LAST_COMPILE
2024-06-24

Last

Code
nama_10_a64_e %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(time)) %>%
  head(1) %>%
  print_table_conditional()
time Nobs
2023 4220

unit

Code
nama_10_a64_e %>%
  left_join(unit, by = "unit") %>%
  group_by(unit, Unit) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
unit Unit Nobs
THS_PER Thousand persons 311028
PCH_PRE_PER Percentage change on previous period (based on persons) 268258
THS_HW Thousand hours worked 248056
PCH_PRE_HW Percentage change on previous period (based on hours worked) 217948
THS_JOB Thousand jobs 61383
PCH_PRE_JOB Percentage change on previous period (based on jobs) 51682

nace_r2

Code
nama_10_a64_e %>%
  left_join(nace_r2, by = "nace_r2") %>%
  group_by(nace_r2, Nace_r2) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()

na_item

Code
nama_10_a64_e %>%
  left_join(na_item, by = "na_item") %>%
  group_by(na_item, Na_item) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
na_item Na_item Nobs
EMP_DC Total employment domestic concept 400353
SAL_DC Employees domestic concept 389463
SELF_DC Self-employed domestic concept 368539

time

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

geo

Code
nama_10_a64_e %>%
  left_join(geo, by = "geo") %>%
  group_by(geo, Geo) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  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 .}

Number of employees

Code
nama_10_a64_e %>%
  left_join(geo, by = "geo") %>%
  filter(geo %in% c("FR", "DE", "IT"),
         nace_r2 == "C",
         unit == "THS_HW",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  arrange(date) %>%
  ggplot(.) + geom_line(aes(x = date, y = values/1000, color = Geo)) + 
  theme_minimal() + xlab("") + ylab("Number of Hours Worked") +
  geom_image(data = . %>%
               filter(date == as.Date("2010-01-01")) %>%
               mutate(image = paste0("../../icon/flag/round/", str_to_lower(Geo), ".png")),
             aes(x = date, y = values/1000, image = image), asp = 1.5) +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 1000000, 1000),
                     labels = dollar_format(accuracy = 1, prefix = "", suffix = "M")) +
  scale_color_manual(values = c("#0055a4", "#000000", "#008c45")) +
  theme(legend.position = c(0.2, 0.80),
        legend.title = element_blank())

Number of hours worked

Code
nama_10_a64_e %>%
  left_join(geo, by = "geo") %>%
  filter(geo %in% c("FR", "DE", "IT"),
         nace_r2 == "TOTAL",
         unit == "THS_PER",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  arrange(date) %>%
  mutate(values = values/1000) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = Geo)) + 
  theme_minimal() + xlab("") + ylab("Number of Hours Worked") +
  add_3flags +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_color_manual(values = c("#0055a4", "#000000", "#008c45")) +
  theme(legend.position = c(0.2, 0.80),
        legend.title = element_blank())

France VS Europe

Manufacture, Industrie

% de l’emploi

Code
nama_10_a64_e %>%
  filter(na_item == "EMP_DC",
         nace_r2 %in% c("C", "TOTAL", "B-E"),
         geo %in% c("FR", "EA19"),
         unit== "THS_PER") %>%
  year_to_date() %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
  left_join(nace_r2, by = "nace_r2") %>%
  group_by(date) %>%
  mutate(values = values/ values[nace_r2 == "TOTAL"]) %>%
  filter(nace_r2 != "TOTAL",
         date >= as.Date("1995-01-01")) %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color, linetype = Nace_r2)) +
  scale_color_identity() +
  scale_linetype_manual(values = c("solid", "dashed")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.8, 0.9),
        legend.title = element_blank()) +
  add_4flags +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 2),
                     labels = scales::percent_format(accuracy = 1)) +
  ylab("Emploi Manufacturier, Industriel (% de l'Emploi)") + xlab("")

THS_PER, Nombre d’emplois

Code
nama_10_a64_e %>%
  filter(na_item == "EMP_DC",
         nace_r2 %in% c("C", "B-E"),
         geo %in% c("FR", "EA19", "DE"),
         unit== "THS_PER") %>%
  year_to_date() %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
  left_join(nace_r2, by = "nace_r2") %>%
  #filter(date >= as.Date("1995-01-01")) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color, linetype = Nace_r2)) +
  scale_color_identity() +
  scale_linetype_manual(values = c("solid", "dashed")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank()) +
  add_6flags +
  scale_y_log10(breaks = 100*seq(0, 1000, 10)) +
  ylab("Emploi Manufacturier, Industriel (Milliers d'emplois)") + xlab("")

France VS Germany

Table

Code
load_data("eurostat/nace_r2_fr.RData")
nama_10_a64_e %>%
  filter(geo %in% c("FR", "DE"),
         unit == "THS_PER",
         na_item == "EMP_DC",
         time %in% c("2019")) %>%
  filter(!grepl("C", nace_r2) | nace_r2 == "TOTAL") %>%
  select(-na_item, -unit, -time) %>%
  left_join(nace_r2, by = "nace_r2") %>%
  left_join(geo, by = "geo") %>%
  select(nace_r2, Nace_r2, Geo, values) %>%
  group_by(Geo) %>%
  mutate(values = round(100*values/ values[nace_r2 == "TOTAL"], 1)) %>%
  filter(nace_r2 != "TOTAL")  %>%
  spread(Geo, values) %>%
  mutate(difference = `France` - `Germany`) %>%
  arrange(-difference) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

Table 1995, 2019

Code
load_data("eurostat/nace_r2_fr.RData")
nama_10_a64_e %>%
  filter(geo %in% c("FR", "DE"),
         unit == "THS_PER",
         na_item == "EMP_DC",
         time %in% c("1995", "2019")) %>%
  left_join(nace_r2, by = "nace_r2") %>%
  left_join(geo, by = "geo") %>%
  select(-na_item, -unit) %>%
  transmute(nace_r2, Nace_r2, variable = paste(Geo, time), values) %>%
  group_by(variable) %>%
  mutate(values = round(100*values/ values[nace_r2 == "TOTAL"], 1)) %>%
  filter(nace_r2 != "TOTAL")  %>%
  spread(variable, values) %>%
  mutate(difference = `France 2019` - `France 1995` - (`Germany 2019` - `Germany 1995`)) %>%
  arrange(-abs(difference)) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

Manufacture, Industrie

% de l’emploi

Code
nama_10_a64_e %>%
  filter(na_item == "EMP_DC",
         nace_r2 %in% c("C", "TOTAL", "B-E"),
         geo %in% c("FR", "DE"),
         unit== "THS_PER") %>%
  year_to_date() %>%
  left_join(geo, by = "geo") %>%
  left_join(nace_r2, by = "nace_r2") %>%
  group_by(date) %>%
  mutate(values = values/ values[nace_r2 == "TOTAL"]) %>%
  filter(nace_r2 != "TOTAL",
         date >= as.Date("1995-01-01")) %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color, linetype = Nace_r2)) +
  scale_color_identity() +
  scale_linetype_manual(values = c("solid", "dashed")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.8, 0.9),
        legend.title = element_blank()) +
  add_4flags +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 2),
                     labels = scales::percent_format(accuracy = 1)) +
  ylab("Emploi Manufacturier, Industriel (% de l'Emploi)") + xlab("")

% des heures (THS_HW)

Code
nama_10_a64_e %>%
  filter(na_item == "EMP_DC",
         nace_r2 %in% c("C", "TOTAL", "B-E"),
         geo %in% c("FR", "DE"),
         unit== "THS_HW") %>%
  year_to_date() %>%
  left_join(geo, by = "geo") %>%
  left_join(nace_r2, by = "nace_r2") %>%
  group_by(date) %>%
  mutate(values = values/ values[nace_r2 == "TOTAL"]) %>%
  filter(nace_r2 != "TOTAL",
         date >= as.Date("1995-01-01")) %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color, linetype = Nace_r2)) +
  scale_color_identity() +
  scale_linetype_manual(values = c("solid", "dashed")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.8, 0.9),
        legend.title = element_blank()) +
  add_4flags +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 2),
                     labels = scales::percent_format(accuracy = 1)) +
  ylab("Emploi Manufacturier, Industriel (% des heures)") + xlab("")

THS_PER, Nombre d’emplois

Code
nama_10_a64_e %>%
  filter(na_item == "EMP_DC",
         nace_r2 %in% c("C", "B-E"),
         geo %in% c("FR", "DE"),
         unit== "THS_PER") %>%
  year_to_date() %>%
  left_join(geo, by = "geo") %>%
  left_join(nace_r2, by = "nace_r2") %>%
  #filter(date >= as.Date("1995-01-01")) %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color, linetype = Nace_r2)) +
  scale_color_identity() +
  scale_linetype_manual(values = c("solid", "dashed")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank()) +
  add_4flags +
  scale_y_continuous(breaks = 100*seq(0, 1000, 10)) +
  ylab("Emploi Manufacturier, Industriel (Milliers d'emplois)") + xlab("")

Manufacture, Administration

Code
nama_10_a64_e %>%
  filter(na_item == "EMP_DC",
         nace_r2 %in% c("O-Q", "TOTAL", "B-E"),
         geo %in% c("FR", "DE"),
         unit== "THS_HW") %>%
  year_to_date() %>%
  left_join(geo, by = "geo") %>%
  group_by(date) %>%
  mutate(values = values/ values[nace_r2 == "TOTAL"]) %>%
  filter(nace_r2 != "TOTAL",
         date >= as.Date("1995-01-01")) %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = Geo, linetype = nace_r2)) +
  scale_color_manual(values = c("#0055a4", "#000000")) +
  scale_linetype_manual(values = c("solid", "dashed")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = "none") +
  add_4flags +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 2),
                     labels = scales::percent_format(accuracy = 1)) +
  ylab("Emploi Manufacturier, Industriel (% de l'Emploi)") + xlab("")

G, C, F

Code
nama_10_a64_e %>%
  filter(na_item == "EMP_DC",
         nace_r2 %in% c("G", "C", "F","TOTAL"),
         geo %in% c("FR", "DE"),
         unit== "THS_HW") %>%
  year_to_date() %>%
  left_join(geo, by = "geo") %>%
  left_join(nace_r2, by = "nace_r2") %>%
  group_by(date) %>%
  mutate(values = values/ values[nace_r2 == "TOTAL"]) %>%
  filter(nace_r2 != "TOTAL",
         date >= as.Date("1995-01-01")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = Geo, linetype = Nace_r2)) +
  scale_color_manual(values = c("#0055a4", "#000000")) +
  scale_linetype_manual(values = c("solid", "dashed", "longdash")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.4, 0.5)) +
  add_6flags +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 2),
                     labels = scales::percent_format(accuracy = 1)) +
  ylab("") + xlab("")

P, M, K

Code
nama_10_a64_e %>%
  filter(na_item == "EMP_DC",
         nace_r2 %in% c("P", "M", "K","TOTAL"),
         geo %in% c("FR", "DE"),
         unit== "THS_HW") %>%
  year_to_date() %>%
  left_join(geo, by = "geo") %>%
  left_join(nace_r2, by = "nace_r2") %>%
  group_by(date) %>%
  mutate(values = values/ values[nace_r2 == "TOTAL"]) %>%
  filter(nace_r2 != "TOTAL",
         date >= as.Date("1995-01-01")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = Geo, linetype = Nace_r2)) +
  scale_color_manual(values = c("#0055a4", "#000000")) +
  scale_linetype_manual(values = c("solid", "dashed", "longdash")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.7)) +
  add_6flags +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
                     labels = scales::percent_format(accuracy = 1)) +
  ylab("Emploi Manufacturier, Industriel (% de l'Emploi)") + xlab("")

Germany, Italy, France, Spain

Table - Flags

Code
load_data("eurostat/nace_r2_fr.RData")
nama_10_a64_e %>%
  filter(geo %in% c("FR", "DE", "IT", "ES"),
         unit == "THS_PER",
         na_item == "EMP_DC",
         time %in% c("2018")) %>%
  filter(!grepl("C", nace_r2) | nace_r2 == "TOTAL") %>%
  select(-na_item, -unit, -time) %>%
  left_join(nace_r2, by = "nace_r2") %>%
  left_join(geo, by = "geo") %>%
  mutate(Flag = gsub(" ", "-", str_to_lower(Geo)),
         Flag = paste0('<img src="../../bib/flags/vsmall/', Flag, '.png" alt="Flag">')) %>%
  select(nace_r2, Nace_r2, Flag, values) %>%
  group_by(Flag) %>%
  mutate(values = round(100*values/ values[nace_r2 == "TOTAL"], 1)) %>%
  filter(nace_r2 != "TOTAL")  %>%
  spread(Flag, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

Table - Manufacturing

Code
load_data("eurostat/nace_r2_fr.RData")
nama_10_a64_e %>%
  filter(geo %in% c("FR", "DE", "IT", "ES"),
         unit == "THS_PER",
         na_item == "EMP_DC",
         time %in% c("2018")) %>%
  filter(grepl("C", nace_r2) | nace_r2 == "TOTAL") %>%
  select(-na_item, -unit, -time) %>%
  left_join(nace_r2, by = "nace_r2") %>%
  left_join(geo, by = "geo") %>%
  mutate(Flag = gsub(" ", "-", str_to_lower(Geo)),
         Flag = paste0('<img src="../../bib/flags/vsmall/', Flag, '.png" alt="Flag">')) %>%
  select(nace_r2, Nace_r2, Flag, values) %>%
  group_by(Flag) %>%
  mutate(values = round(100*values/ values[nace_r2 == "TOTAL"], 1)) %>%
  filter(nace_r2 != "TOTAL")  %>%
  spread(Flag, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

C - Manufacturing

Value

Code
nama_10_a64_e %>%
  filter(unit == "THS_PER",
         na_item == "EMP_DC",
         nace_r2 %in% c("C", "TOTAL"),
         geo %in% c("FR", "DE", "IT", "ES")) %>%
  year_to_date() %>%
  left_join(geo, by = "geo") %>%
  select(geo,  Geo, nace_r2, date, values) %>%
  spread(nace_r2, values) %>%
  mutate(values = `C`/TOTAL) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("Manufacturing (% of GDP)") +
  scale_color_identity() + add_4flags +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, 1),
                     labels = percent_format(accuracy = 1))

Productivity

Normal

Code
nama_10_a64 %>%
  filter(na_item == "B1G",
         nace_r2 %in% c("C"),
         geo %in% c("FR", "DE", "IT", "ES", "NL"),
         unit %in% c("CP_MNAC", "CLV10_MEUR")) %>%
  select_if(~ n_distinct(.) > 1) %>%
  rename(B1G = values) %>%
  left_join(nama_10_a64_e %>%
              filter(nace_r2 %in% c("C"),
                     geo %in% c("FR", "DE", "IT", "ES", "NL"),
                     unit == "THS_PER",
                     na_item == "EMP_DC") %>%
              select_if(~ n_distinct(.) > 1) %>%
              rename(EMP_DC = values), by = c("geo", "time")) %>%
  mutate(values = B1G/EMP_DC) %>%
  year_to_date() %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(geo, by = "geo") %>%
  left_join(unit, by = "unit") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "NL", color2, color)) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color, linetype = Unit)) + 
  theme_minimal() + xlab("") + ylab("C - Manufacturing\n Labour Productivity = B1G / EMP_DC") +
  scale_color_identity() + add_flags(10) +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.8)) +
  scale_y_continuous(breaks = seq(0, 2000, 10),
                     labels = dollar_format(pre = "", su = "k€", acc = 1))

Log

Code
nama_10_a64 %>%
  filter(na_item == "B1G",
         nace_r2 %in% c("C"),
         geo %in% c("FR", "DE", "IT", "ES", "NL"),
         unit %in% c("CP_MNAC", "CLV10_MEUR")) %>%
  select_if(~ n_distinct(.) > 1) %>%
  rename(B1G = values) %>%
  left_join(nama_10_a64_e %>%
              filter(nace_r2 %in% c("C"),
                     geo %in% c("FR", "DE", "IT", "ES", "NL"),
                     unit == "THS_PER",
                     na_item == "EMP_DC") %>%
              select_if(~ n_distinct(.) > 1) %>%
              rename(EMP_DC = values), by = c("geo", "time")) %>%
  mutate(values = B1G/EMP_DC) %>%
  year_to_date() %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(geo, by = "geo") %>%
  left_join(unit, by = "unit") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "NL", color2, color)) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color, linetype = Unit)) + 
  theme_minimal() + xlab("") + ylab("C - Manufacturing\n Labour Productivity = B1G / EMP_DC") +
  scale_color_identity() + add_flags(10) +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.8)) +
  scale_y_log10(breaks = seq(0, 2000, 50),
                     labels = dollar_format(pre = "", su = "k€", acc = 1))

Base 100

Code
nama_10_a64 %>%
  filter(na_item == "B1G",
         nace_r2 %in% c("C"),
         geo %in% c("FR", "DE", "IT", "ES", "NL"),
         unit %in% c("CP_MNAC", "CLV10_MEUR")) %>%
  select_if(~ n_distinct(.) > 1) %>%
  rename(B1G = values) %>%
  left_join(nama_10_a64_e %>%
              filter(nace_r2 %in% c("C"),
                     geo %in% c("FR", "DE", "IT", "ES", "NL"),
                     unit == "THS_PER",
                     na_item == "EMP_DC") %>%
              select_if(~ n_distinct(.) > 1) %>%
              rename(EMP_DC = values), by = c("geo", "time")) %>%
  mutate(values = B1G/EMP_DC) %>%
  year_to_date() %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(geo, by = "geo") %>%
  left_join(unit, by = "unit") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "NL", color2, color)) %>%
  group_by(Geo, Unit) %>%
  arrange(date) %>%
  mutate(values = 100*values/values[1]) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color, linetype = Unit)) + 
  theme_minimal() + xlab("") + ylab("C - Manufacturing\n Labour Productivity = B1G / EMP_DC") +
  scale_color_identity() + add_flags(10) +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.8)) +
  scale_y_log10(breaks = seq(0, 2000, 20))

C10-C12 - Food products

Value

All

Code
nama_10_a64_e %>%
  filter(nace_r2 %in% c("C10-C12", "TOTAL"),
         geo %in% c("FR", "DE", "IT", "ES"),
         unit == "THS_PER",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  left_join(geo, by = "geo") %>%
  select(geo,  Geo, nace_r2, date, values) %>%
  spread(nace_r2, values) %>%
  mutate(values = `C10-C12`/TOTAL) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("Food products (% of GDP)") +
  scale_color_identity() + add_4flags +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, 0.1),
                     labels = percent_format(accuracy = .1))

1995-

Code
nama_10_a64_e %>%
  filter(nace_r2 %in% c("C10-C12", "TOTAL"),
         geo %in% c("FR", "DE", "IT", "ES"),
         unit == "THS_PER",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(geo, by = "geo") %>%
  select(geo,  Geo, nace_r2, date, values) %>%
  spread(nace_r2, values) %>%
  ggplot(.) + geom_line(aes(x = date, y = `C10-C12`/TOTAL, color = Geo)) + 
  theme_minimal() + xlab("") + ylab("Food products (% of GDP)") +
  scale_color_manual(values = c("#002395", "#000000", "#009246", "#C60B1E")) +
  scale_x_date(breaks = seq(1960, 2020, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  geom_image(data = . %>%
               filter(date == as.Date("2015-01-01")) %>%
               mutate(image = paste0("../../icon/flag/round/", str_to_lower(Geo), ".png")),
             aes(x = date, y = `C10-C12`/TOTAL, image = image), asp = 1.5) +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, 0.1),
                     labels = percent_format(accuracy = .1))

Productivity

Normal

Code
nama_10_a64 %>%
  filter(na_item == "B1G",
         nace_r2 %in% c("C10-C12"),
         geo %in% c("FR", "DE", "IT", "ES", "NL"),
         unit %in% c("CP_MNAC", "CLV10_MEUR")) %>%
  select_if(~ n_distinct(.) > 1) %>%
  rename(B1G = values) %>%
  left_join(nama_10_a64_e %>%
              filter(nace_r2 %in% c("C10-C12"),
                     geo %in% c("FR", "DE", "IT", "ES", "NL"),
                     unit == "THS_PER",
                     na_item == "EMP_DC") %>%
              select_if(~ n_distinct(.) > 1) %>%
              rename(EMP_DC = values), by = c("geo", "time")) %>%
  mutate(values = B1G/EMP_DC) %>%
  year_to_date() %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(geo, by = "geo") %>%
  left_join(unit, by = "unit") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "NL", color2, color)) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color, linetype = Unit)) + 
  theme_minimal() + xlab("") + ylab("Labour Productivity = B1G / EMP_DC") +
  scale_color_identity() + add_flags(10) +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.8)) +
  scale_y_continuous(breaks = seq(0, 2000, 50),
                     labels = dollar_format(pre = "", su = "k€", acc = 1))

Log

Code
nama_10_a64 %>%
  filter(na_item == "B1G",
         nace_r2 %in% c("C10-C12"),
         geo %in% c("FR", "DE", "IT", "ES", "NL"),
         unit %in% c("CP_MNAC", "CLV10_MEUR")) %>%
  select_if(~ n_distinct(.) > 1) %>%
  rename(B1G = values) %>%
  left_join(nama_10_a64_e %>%
              filter(nace_r2 %in% c("C10-C12"),
                     geo %in% c("FR", "DE", "IT", "ES", "NL"),
                     unit == "THS_PER",
                     na_item == "EMP_DC") %>%
              select_if(~ n_distinct(.) > 1) %>%
              rename(EMP_DC = values), by = c("geo", "time")) %>%
  mutate(values = B1G/EMP_DC) %>%
  year_to_date() %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(geo, by = "geo") %>%
  left_join(unit, by = "unit") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "NL", color2, color)) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color, linetype = Unit)) + 
  theme_minimal() + xlab("") + ylab("Labour Productivity = B1G / EMP_DC") +
  scale_color_identity() + add_flags(10) +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.8)) +
  scale_y_log10(breaks = seq(0, 2000, 50),
                     labels = dollar_format(pre = "", su = "k€", acc = 1))

Base 100

Code
nama_10_a64 %>%
  filter(na_item == "B1G",
         nace_r2 %in% c("C10-C12"),
         geo %in% c("FR", "DE", "IT", "ES", "NL"),
         unit %in% c("CP_MNAC", "CLV10_MEUR")) %>%
  select_if(~ n_distinct(.) > 1) %>%
  rename(B1G = values) %>%
  left_join(nama_10_a64_e %>%
              filter(nace_r2 %in% c("C10-C12"),
                     geo %in% c("FR", "DE", "IT", "ES", "NL"),
                     unit == "THS_PER",
                     na_item == "EMP_DC") %>%
              select_if(~ n_distinct(.) > 1) %>%
              rename(EMP_DC = values), by = c("geo", "time")) %>%
  mutate(values = B1G/EMP_DC) %>%
  year_to_date() %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(geo, by = "geo") %>%
  left_join(unit, by = "unit") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "NL", color2, color)) %>%
  group_by(Geo, Unit) %>%
  arrange(date) %>%
  mutate(values = 100*values/values[1]) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color, linetype = Unit)) + 
  theme_minimal() + xlab("") + ylab("Labour Productivity = B1G / EMP_DC") +
  scale_color_identity() + add_flags(10) +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.8)) +
  scale_y_log10(breaks = seq(0, 2000, 20))

C13-C15 - Textiles

Value

All

Code
nama_10_a64_e %>%
  filter(nace_r2 %in% c("C13-C15", "TOTAL"),
         geo %in% c("FR", "DE", "IT", "ES"),
         unit == "THS_PER",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  left_join(geo, by = "geo") %>%
  select(geo,  Geo, nace_r2, date, values) %>%
  spread(nace_r2, values) %>%
  mutate(values = `C13-C15`/TOTAL) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("Textiles (% of GDP)") +
  scale_color_identity() + add_4flags +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, 0.1),
                     labels = percent_format(accuracy = .1))

1995-

Code
nama_10_a64_e %>%
  filter(nace_r2 %in% c("C13-C15", "TOTAL"),
         geo %in% c("FR", "DE", "IT", "ES"),
         unit == "THS_PER",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(geo, by = "geo") %>%
  select(geo,  Geo, nace_r2, date, values) %>%
  spread(nace_r2, values) %>%
  mutate(values = `C13-C15`/TOTAL) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("Textiles (% of GDP)") +
  scale_color_identity() + add_4flags +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, 0.1),
                     labels = percent_format(accuracy = .1))

C21 - Manufacture of basic pharmaceutical products and pharmaceutical preparations

Value

All

Code
nama_10_a64_e %>%
  filter(nace_r2 %in% c("C21", "TOTAL"),
         geo %in% c("FR", "DE", "IT", "ES"),
         unit == "THS_PER",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  left_join(geo, by = "geo") %>%
  select(geo,  Geo, nace_r2, date, values) %>%
  spread(nace_r2, values) %>%
  mutate(values = `C21`/TOTAL) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("Manufacture of basic pharmaceutical products (% of GDP)") +
  scale_color_identity() + add_4flags +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, 0.02),
                     labels = percent_format(accuracy = .01))

1995-

% of employment
Code
nama_10_a64_e %>%
  filter(nace_r2 %in% c("C21", "TOTAL"),
         geo %in% c("FR", "DE", "IT", "ES", "NL"),
         unit == "THS_PER",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(geo, by = "geo") %>%
  select(geo,  Geo, nace_r2, date, values) %>%
  spread(nace_r2, values) %>%
  mutate(values = `C21`/TOTAL) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("Manufacture of basic pharmaceutical products\n % of Employment") +
  scale_color_identity() + add_5flags +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, 0.02),
                     labels = percent_format(accuracy = .01))

Productivity

Normal

Code
nama_10_a64 %>%
  filter(na_item == "B1G",
         nace_r2 %in% c("C21"),
         geo %in% c("FR", "DE", "IT", "ES", "NL"),
         unit %in% c("CP_MNAC", "CLV10_MEUR")) %>%
  select_if(~ n_distinct(.) > 1) %>%
  rename(B1G = values) %>%
  left_join(nama_10_a64_e %>%
              filter(nace_r2 %in% c("C21"),
                     geo %in% c("FR", "DE", "IT", "ES", "NL"),
                     unit == "THS_PER",
                     na_item == "EMP_DC") %>%
              select_if(~ n_distinct(.) > 1) %>%
              rename(EMP_DC = values), by = c("geo", "time")) %>%
  mutate(values = B1G/EMP_DC) %>%
  year_to_date() %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(geo, by = "geo") %>%
  left_join(unit, by = "unit") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "NL", color2, color)) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color, linetype = Unit)) + 
  theme_minimal() + xlab("") + ylab("Manufacture of basic pharmaceutical products\n Labour Productivity = B1G / EMP_DC") +
  scale_color_identity() + add_flags(10) +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.8)) +
  scale_y_continuous(breaks = seq(0, 2000, 50),
                     labels = dollar_format(pre = "", su = "k€", acc = 1))

Log

Code
nama_10_a64 %>%
  filter(na_item == "B1G",
         nace_r2 %in% c("C21"),
         geo %in% c("FR", "DE", "IT", "ES", "NL"),
         unit %in% c("CP_MNAC", "CLV10_MEUR")) %>%
  select_if(~ n_distinct(.) > 1) %>%
  rename(B1G = values) %>%
  left_join(nama_10_a64_e %>%
              filter(nace_r2 %in% c("C21"),
                     geo %in% c("FR", "DE", "IT", "ES", "NL"),
                     unit == "THS_PER",
                     na_item == "EMP_DC") %>%
              select_if(~ n_distinct(.) > 1) %>%
              rename(EMP_DC = values), by = c("geo", "time")) %>%
  mutate(values = B1G/EMP_DC) %>%
  year_to_date() %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(geo, by = "geo") %>%
  left_join(unit, by = "unit") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "NL", color2, color)) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color, linetype = Unit)) + 
  theme_minimal() + xlab("") + ylab("Manufacture of basic pharmaceutical products\n Labour Productivity = B1G / EMP_DC") +
  scale_color_identity() + add_flags(10) +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.8)) +
  scale_y_log10(breaks = seq(0, 2000, 50),
                     labels = dollar_format(pre = "", su = "k€", acc = 1))

Base 100

Code
nama_10_a64 %>%
  filter(na_item == "B1G",
         nace_r2 %in% c("C21"),
         geo %in% c("FR", "DE", "IT", "ES", "NL"),
         unit %in% c("CP_MNAC", "CLV10_MEUR")) %>%
  select_if(~ n_distinct(.) > 1) %>%
  rename(B1G = values) %>%
  left_join(nama_10_a64_e %>%
              filter(nace_r2 %in% c("C21"),
                     geo %in% c("FR", "DE", "IT", "ES", "NL"),
                     unit == "THS_PER",
                     na_item == "EMP_DC") %>%
              select_if(~ n_distinct(.) > 1) %>%
              rename(EMP_DC = values), by = c("geo", "time")) %>%
  mutate(values = B1G/EMP_DC) %>%
  year_to_date() %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(geo, by = "geo") %>%
  left_join(unit, by = "unit") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "NL", color2, color)) %>%
  group_by(Geo, Unit) %>%
  arrange(date) %>%
  mutate(values = 100*values/values[1]) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color, linetype = Unit)) + 
  theme_minimal() + xlab("") + ylab("Manufacture of basic pharmaceutical products\n Labour Productivity = B1G / EMP_DC") +
  scale_color_identity() + add_flags(10) +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.8)) +
  scale_y_log10(breaks = seq(0, 2000, 20))

C16-C18 - Wood, Paper, Printing

All

Code
nama_10_a64_e %>%
  filter(nace_r2 %in% c("C16-C18", "TOTAL"),
         geo %in% c("FR", "DE", "IT", "ES"),
         unit == "THS_PER",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  left_join(geo, by = "geo") %>%
  select(geo,  Geo, nace_r2, date, values) %>%
  spread(nace_r2, values) %>%
  ggplot(.) + geom_line(aes(x = date, y = `C16-C18`/TOTAL, color = Geo)) + 
  theme_minimal() + xlab("") + ylab("Wood, Paper, Printing (% of GDP)") +
  scale_color_manual(values = c("#002395", "#000000", "#009246", "#C60B1E")) +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  geom_image(data = . %>%
               filter(date == as.Date("2017-01-01")) %>%
               mutate(image = paste0("../../icon/flag/round/", str_to_lower(Geo), ".png")),
             aes(x = date, y = `C16-C18`/TOTAL, image = image), asp = 1.5) +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, 0.1),
                     labels = percent_format(accuracy = .1))

1995-

Code
nama_10_a64_e %>%
  filter(nace_r2 %in% c("C16-C18", "TOTAL"),
         geo %in% c("FR", "DE", "IT", "ES"),
         unit == "THS_PER",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(geo, by = "geo") %>%
  select(geo,  Geo, nace_r2, date, values) %>%
  spread(nace_r2, values) %>%
  ggplot(.) + geom_line(aes(x = date, y = `C16-C18`/TOTAL, color = Geo)) + 
  theme_minimal() + xlab("") + ylab("Wood, Paper, Printing (% of GDP)") +
  scale_color_manual(values = c("#002395", "#000000", "#009246", "#C60B1E")) +
  scale_x_date(breaks = seq(1960, 2020, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  geom_image(data = . %>%
               filter(date == as.Date("2017-01-01")) %>%
               mutate(image = paste0("../../icon/flag/round/", str_to_lower(Geo), ".png")),
             aes(x = date, y = `C16-C18`/TOTAL, image = image), asp = 1.5) +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, 0.1),
                     labels = percent_format(accuracy = .1))

C29 - Motor vehicles

France, Europe

All

Code
# load_data("eurostat/nace_r2_fr.RData")
nama_10_a64_e %>%
  filter(nace_r2 %in% c("C29", "TOTAL"),
         geo %in% c("FR", "EA20"),
         unit == "THS_PER",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  #filter(date >= as.Date("1995-01-01")) %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) %>%
  select(geo,  Geo, nace_r2, date, values) %>%
  spread(nace_r2, values) %>%
  mutate(values = `C29`/TOTAL) %>%
  filter(!is.na(values)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("Industrie automobile (% de l'emploi)") +
  scale_color_identity() +
  scale_x_date(breaks = seq(1960, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) + add_2flags +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, 0.1),
                     labels = percent_format(accuracy = .1))

1995-

Code
# load_data("eurostat/nace_r2_fr.RData")
nama_10_a64_e %>%
  filter(nace_r2 %in% c("C29", "TOTAL"),
         geo %in% c("FR", "EA20"),
         unit == "THS_PER",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) %>%
  select(geo,  Geo, nace_r2, date, values) %>%
  spread(nace_r2, values) %>%
  mutate(values = `C29`/TOTAL) %>%
  filter(!is.na(values)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("Industrie automobile (% de l'emploi)") +
  scale_color_identity() +
  scale_x_date(breaks = seq(1960, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) + add_2flags +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, 0.1),
                     labels = percent_format(accuracy = .1))

All

Code
nama_10_a64_e %>%
  filter(nace_r2 %in% c("C29", "TOTAL"),
         geo %in% c("FR", "DE", "IT", "ES"),
         unit == "THS_PER",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  left_join(geo, by = "geo") %>%
  select(geo,  Geo, nace_r2, date, values) %>%
  spread(nace_r2, values) %>%
  ggplot(.) + geom_line(aes(x = date, y = `C29`/TOTAL, color = Geo)) + 
  theme_minimal() + xlab("") + ylab("Motor vehicles (% of GDP)") +
  scale_color_manual(values = c("#002395", "#000000", "#009246", "#C60B1E")) +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  geom_image(data = . %>%
               filter(date == as.Date("2017-01-01")) %>%
               mutate(image = paste0("../../icon/flag/round/", str_to_lower(Geo), ".png")),
             aes(x = date, y = `C29`/TOTAL, image = image), asp = 1.5) +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, 0.5),
                     labels = percent_format(accuracy = .1))

1995-

Code
nama_10_a64_e %>%
  filter(nace_r2 %in% c("C29", "TOTAL"),
         geo %in% c("FR", "DE", "IT", "ES"),
         unit == "THS_PER",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(geo, by = "geo") %>%
  select(geo,  Geo, nace_r2, date, values) %>%
  spread(nace_r2, values) %>%
  ggplot(.) + geom_line(aes(x = date, y = `C29`/TOTAL, color = Geo)) + 
  theme_minimal() + xlab("") + ylab("Motor vehicles (% of GDP)") +
  scale_color_manual(values = c("#002395", "#000000", "#009246", "#C60B1E")) +
  scale_x_date(breaks = seq(1960, 2020, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  geom_image(data = . %>%
               filter(date == as.Date("2017-01-01")) %>%
               mutate(image = paste0("../../icon/flag/round/", str_to_lower(Geo), ".png")),
             aes(x = date, y = `C29`/TOTAL, image = image), asp = 1.5) +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, 0.5),
                     labels = percent_format(accuracy = .1))

C29_C30 - Motor vehicles and other transport equipment

All

Code
nama_10_a64_e %>%
  filter(nace_r2 %in% c("C29_C30", "TOTAL"),
         geo %in% c("FR", "DE", "IT", "ES"),
         unit == "THS_PER",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  left_join(geo, by = "geo") %>%
  select(geo,  Geo, nace_r2, date, values) %>%
  spread(nace_r2, values) %>%
  mutate(values = `C29_C30`/TOTAL) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = Geo)) + 
  theme_minimal() + xlab("") + ylab("Motor vehicles and other transport equipment") +
  scale_color_manual(values = c("#002395", "#000000", "#009246", "#C60B1E")) +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) + add_4flags +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, 0.5),
                     labels = percent_format(accuracy = .1))

1995-

Code
nama_10_a64_e %>%
  filter(nace_r2 %in% c("C29_C30", "TOTAL"),
         geo %in% c("FR", "DE", "IT", "ES"),
         unit == "THS_PER",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(geo, by = "geo") %>%
  select(geo,  Geo, nace_r2, date, values) %>%
  spread(nace_r2, values) %>%
  ggplot(.) + geom_line(aes(x = date, y = `C29_C30`/TOTAL, color = Geo)) + 
  theme_minimal() + xlab("") + ylab("Motor vehicles and other transport equipment (% of GDP)") +
  scale_color_manual(values = c("#002395", "#000000", "#009246", "#C60B1E")) +
  scale_x_date(breaks = seq(1960, 2020, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  geom_image(data = . %>%
               filter(date == as.Date("2017-01-01")) %>%
               mutate(image = paste0("../../icon/flag/round/", str_to_lower(Geo), ".png")),
             aes(x = date, y = `C29_C30`/TOTAL, image = image), asp = 1.5) +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, 0.5),
                     labels = percent_format(accuracy = .1))

C28 - Machinery and equipment

All

Code
nama_10_a64_e %>%
  filter(nace_r2 %in% c("C28", "TOTAL"),
         geo %in% c("FR", "DE", "IT", "ES"),
         unit == "THS_PER",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  left_join(geo, by = "geo") %>%
  select(geo,  Geo, nace_r2, date, values) %>%
  spread(nace_r2, values) %>%
  mutate(values = `C28`/TOTAL) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = Geo)) + 
  theme_minimal() + xlab("") + ylab("Machinery and equipment (% of GDP)") +
  scale_color_manual(values = c("#002395", "#000000", "#009246", "#C60B1E")) +
  scale_x_date(breaks = seq(1960, 2025, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) + add_4flags +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, 0.1),
                     labels = percent_format(accuracy = .1))

1995-

Code
nama_10_a64_e %>%
  filter(nace_r2 %in% c("C28", "TOTAL"),
         geo %in% c("FR", "DE", "IT", "ES"),
         unit == "THS_PER",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(geo, by = "geo") %>%
  select(geo,  Geo, nace_r2, date, values) %>%
  spread(nace_r2, values) %>%
  mutate(values = `C28`/TOTAL) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = Geo)) + 
  theme_minimal() + xlab("") + ylab("Machinery and equipment (% of GDP)") +
  scale_color_manual(values = c("#002395", "#000000", "#009246", "#C60B1E")) +
  scale_x_date(breaks = seq(1960, 2020, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) + add_4flags +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, 0.1),
                     labels = percent_format(accuracy = .1))

L - Real Estate

Value

Code
nama_10_a64_e %>%
  filter(nace_r2 %in% c("L", "TOTAL"),
         geo %in% c("FR", "DE", "IT", "ES"),
         unit == "THS_PER",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  left_join(geo, by = "geo") %>%
  select(geo,  Geo, nace_r2, date, values) %>%
  spread(nace_r2, values) %>%
  mutate(values = `L`/TOTAL) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("Real Estate (% of GDP)") +
  scale_color_identity() + add_4flags +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, .1),
                     labels = percent_format(accuracy = .1))

Productivity

Normal

Code
nama_10_a64 %>%
  filter(na_item == "B1G",
         nace_r2 %in% c("L"),
         geo %in% c("FR", "DE", "IT", "ES", "NL"),
         unit %in% c("CP_MNAC", "CLV10_MEUR")) %>%
  select_if(~ n_distinct(.) > 1) %>%
  rename(B1G = values) %>%
  left_join(nama_10_a64_e %>%
              filter(nace_r2 %in% c("L"),
                     geo %in% c("FR", "DE", "IT", "ES", "NL"),
                     unit == "THS_PER",
                     na_item == "EMP_DC") %>%
              select_if(~ n_distinct(.) > 1) %>%
              rename(EMP_DC = values), by = c("geo", "time")) %>%
  mutate(values = B1G/EMP_DC) %>%
  year_to_date() %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(geo, by = "geo") %>%
  left_join(unit, by = "unit") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "NL", color2, color)) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color, linetype = Unit)) + 
  theme_minimal() + xlab("") + ylab("Labour Productivity = B1G / EMP_DC") +
  scale_color_identity() + add_flags(10) +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.8)) +
  scale_y_continuous(breaks = seq(0, 2000, 50),
                     labels = dollar_format(pre = "", su = "k€", acc = 1))

Log

Code
nama_10_a64 %>%
  filter(na_item == "B1G",
         nace_r2 %in% c("L"),
         geo %in% c("FR", "DE", "IT", "ES", "NL"),
         unit %in% c("CP_MNAC", "CLV10_MEUR")) %>%
  select_if(~ n_distinct(.) > 1) %>%
  rename(B1G = values) %>%
  left_join(nama_10_a64_e %>%
              filter(nace_r2 %in% c("L"),
                     geo %in% c("FR", "DE", "IT", "ES", "NL"),
                     unit == "THS_PER",
                     na_item == "EMP_DC") %>%
              select_if(~ n_distinct(.) > 1) %>%
              rename(EMP_DC = values), by = c("geo", "time")) %>%
  mutate(values = B1G/EMP_DC) %>%
  year_to_date() %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(geo, by = "geo") %>%
  left_join(unit, by = "unit") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "NL", color2, color)) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color, linetype = Unit)) + 
  theme_minimal() + xlab("") + ylab("Labour Productivity = B1G / EMP_DC") +
  scale_color_identity() + add_flags(10) +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.8)) +
  scale_y_log10(breaks = seq(0, 2000, 50),
                     labels = dollar_format(pre = "", su = "k€", acc = 1))

Base 100

Code
nama_10_a64 %>%
  filter(na_item == "B1G",
         nace_r2 %in% c("L"),
         geo %in% c("FR", "DE", "IT", "ES", "NL"),
         unit %in% c("CP_MNAC", "CLV10_MEUR")) %>%
  select_if(~ n_distinct(.) > 1) %>%
  rename(B1G = values) %>%
  left_join(nama_10_a64_e %>%
              filter(nace_r2 %in% c("L"),
                     geo %in% c("FR", "DE", "IT", "ES", "NL"),
                     unit == "THS_PER",
                     na_item == "EMP_DC") %>%
              select_if(~ n_distinct(.) > 1) %>%
              rename(EMP_DC = values), by = c("geo", "time")) %>%
  mutate(values = B1G/EMP_DC) %>%
  year_to_date() %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(geo, by = "geo") %>%
  left_join(unit, by = "unit") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "NL", color2, color)) %>%
  group_by(Geo, Unit) %>%
  arrange(date) %>%
  mutate(values = 100*values/values[1]) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color, linetype = Unit)) + 
  theme_minimal() + xlab("") + ylab("Labour Productivity = B1G / EMP_DC") +
  scale_color_identity() + add_flags(10) +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.8)) +
  scale_y_log10(breaks = seq(0, 2000, 20))

Germany, Italy, France, Spain

Table

Code
load_data("eurostat/nace_r2.RData")
nama_10_a64_e %>%
  filter(geo %in% c("FR", "DE", "IT", "ES"),
         unit == "THS_PER",
         na_item == "EMP_DC",
         time %in% c("2018")) %>%
  filter(!grepl("C", nace_r2) | nace_r2 == "TOTAL") %>%
  select(-na_item, -unit, -time) %>%
  left_join(nace_r2, by = "nace_r2") %>%
  left_join(geo, by = "geo") %>%
  mutate(Flag = gsub(" ", "-", str_to_lower(Geo)),
         Flag = paste0('<img src="../../bib/flags/vsmall/', Flag, '.png" alt="Flag">')) %>%
  select(nace_r2, Nace_r2, Flag, values) %>%
  group_by(Flag) %>%
  mutate(values = round(100*values/ values[nace_r2 == "TOTAL"], 1)) %>%
  filter(nace_r2 != "TOTAL")  %>%
  spread(Flag, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

Table - Manufacturing

Code
load_data("eurostat/nace_r2_fr.RData")
nama_10_a64_e %>%
  filter(geo %in% c("FR", "DE", "IT", "ES"),
         unit == "THS_PER",
         na_item == "EMP_DC",
         time %in% c("2018")) %>%
  filter(grepl("C", nace_r2) | nace_r2 == "TOTAL") %>%
  select(-na_item, -unit, -time) %>%
  left_join(nace_r2, by = "nace_r2") %>%
  left_join(geo, by = "geo") %>%
  mutate(Flag = gsub(" ", "-", str_to_lower(Geo)),
         Flag = paste0('<img src="../../bib/flags/vsmall/', Flag, '.png" alt="Flag">')) %>%
  select(nace_r2, Nace_r2, Flag, values) %>%
  group_by(Flag) %>%
  mutate(values = round(100*values/ values[nace_r2 == "TOTAL"], 1)) %>%
  filter(nace_r2 != "TOTAL")  %>%
  spread(Flag, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

C - Manufacturing

Persons

Code
nama_10_a64_e %>%
  filter(nace_r2 %in% c("C", "TOTAL"),
         geo %in% c("FR", "DE", "IT", "ES"),
         unit == "THS_PER",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  left_join(geo, by = "geo") %>%
  select(geo,  Geo, nace_r2, date, values) %>%
  spread(nace_r2, values) %>%
  mutate(values = `C`/TOTAL) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("Manufacturing (% of Employment)") +
  scale_color_identity() + add_4flags +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, 1),
                     labels = percent_format(accuracy = 1))

Hours worked

Code
nama_10_a64_e %>%
  filter(nace_r2 %in% c("C", "TOTAL"),
         geo %in% c("FR", "DE", "IT", "ES"),
         unit == "THS_HW",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  left_join(geo, by = "geo") %>%
  select(geo,  Geo, nace_r2, date, values) %>%
  spread(nace_r2, values) %>%
  mutate(values = `C`/TOTAL) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("Manufacturing (% of Hours worked)") +
  scale_color_identity() + add_4flags +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, 1),
                     labels = percent_format(accuracy = 1))

Q - Health

Persons

Code
nama_10_a64_e %>%
  filter(nace_r2 %in% c("Q", "TOTAL"),
         geo %in% c("FR", "DE", "IT", "ES"),
         unit == "THS_PER",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  left_join(geo, by = "geo") %>%
  select(geo,  Geo, nace_r2, date, values) %>%
  spread(nace_r2, values) %>%
  mutate(values = `Q`/TOTAL) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("Health (% of Employment)") +
  scale_color_identity() + add_4flags +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, 1),
                     labels = percent_format(accuracy = 1))

Hours worked

Code
nama_10_a64_e %>%
  filter(nace_r2 %in% c("Q", "TOTAL"),
         geo %in% c("FR", "DE", "IT", "ES"),
         unit == "THS_HW",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  left_join(geo, by = "geo") %>%
  select(geo,  Geo, nace_r2, date, values) %>%
  spread(nace_r2, values) %>%
  mutate(values = `Q`/TOTAL) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("Health (% of Hours worked)") +
  scale_color_identity() + add_4flags +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, 1),
                     labels = percent_format(accuracy = 1))

L - Real estate

Persons

Code
nama_10_a64_e %>%
  filter(nace_r2 %in% c("L", "TOTAL"),
         geo %in% c("FR", "DE", "IT", "ES"),
         unit == "THS_PER",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  left_join(geo, by = "geo") %>%
  select(geo,  Geo, nace_r2, date, values) %>%
  spread(nace_r2, values) %>%
  mutate(values = `L`/TOTAL) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("Real Estate (% of Employment)") +
  scale_color_identity() + add_4flags +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, .1),
                     labels = percent_format(accuracy = .1))

Hours worked

Code
nama_10_a64_e %>%
  filter(nace_r2 %in% c("L", "TOTAL"),
         geo %in% c("FR", "DE", "IT", "ES"),
         unit == "THS_HW",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  left_join(geo, by = "geo") %>%
  select(geo,  Geo, nace_r2, date, values) %>%
  spread(nace_r2, values) %>%
  mutate(values = `L`/TOTAL) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("Real Estate (% of Hours worked)") +
  scale_color_identity() + add_4flags +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, .1),
                     labels = percent_format(accuracy = .1))

Individual Countries

France

Table

All

Code
nama_10_a64_e %>%
  filter(geo %in% c("FR"),
         unit == "THS_HW",
         na_item == "EMP_DC",
         time %in% c("1978", "1998",  "2008", "2018")) %>%
  left_join(nace_r2, by = "nace_r2") %>%
  select(nace_r2, Nace_r2, time, values) %>%
  group_by(time) %>%
  mutate(values = round(100*values/ values[nace_r2 == "TOTAL"], 1)) %>%
  filter(nace_r2 != "TOTAL")  %>%
  spread(time, values) %>%
  print_table_conditional

Manufacturing

Code
nama_10_a64_e %>%
  filter(geo %in% c("FR"),
         unit == "THS_HW",
         na_item == "EMP_DC",
         time %in% c("1978", "1998",  "2008", "2018")) %>%
  filter(grepl("C", nace_r2) | nace_r2 == "TOTAL") %>%
  left_join(nace_r2, by = "nace_r2") %>%
  select(nace_r2, Nace_r2, time, values) %>%
  group_by(time) %>%
  mutate(values = round(100*values/ values[nace_r2 == "TOTAL"], 1)) %>%
  filter(nace_r2 != "TOTAL")  %>%
  spread(time, values) %>%
  arrange(-`2018`) %>%
  print_table_conditional
nace_r2 Nace_r2 1978 1998 2008 2018
C Industrie manufacturière 20.8 14.4 11.4 9.5
C10-C12 Industries alimentaires; fabrication de boissons et de produits à base de tabac 2.7 2.6 2.3 2.3
C31-C33 Fabrication de meubles, bijouterie, instruments de musique, jouets, réparation et installation de machines et équipements 2.8 2.0 1.7 1.5
C24_C25 Métallurgie et fabrication de produits métalliques, à l'exception des machines et des équipements 3.2 2.1 1.7 1.4
C22_C23 Fabrication de produits en caoutchouc et en plastique et autres produits minéraux non métalliques 2.0 1.4 1.2 0.9
C16-C18 Travail du bois et du papier, imprimerie et reproduction 1.6 1.2 0.9 0.7
C29_C30 Industrie automobile et construction navale 1.9 1.1 0.9 0.7
C28 Fabrication de machines et équipements n.c.a. 1.3 0.9 0.7 0.5
C13-C15 Fabrication de textiles, industrie de l'habillement, du cuir et de la chaussure 2.9 1.2 0.5 0.4
C20 Industrie chimique 0.8 0.6 0.4 0.4
C26 Fabrication de produits informatiques, électroniques et optiques 0.7 0.6 0.4 0.3
C27 Fabrication d'équipements électriques 0.7 0.5 0.4 0.3
C21 Industrie pharmaceutique 0.2 0.2 0.2 0.2
C19 Cokéfaction et raffinage 0.1 0.1 0.0 0.0

Construction, Human health, Manufacturing, Real estate

All

Code
nama_10_a64_e %>%
  filter(nace_r2 %in% c("C", "TOTAL", "L", "Q", "F"),
         geo %in% c("FR"),
         unit == "THS_HW",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  left_join(nace_r2, by = "nace_r2") %>%
  select(nace_r2, Nace_r2, date, values) %>%
  group_by(date) %>%
  mutate(values = values/ values[nace_r2 == "TOTAL"]) %>%
  filter(nace_r2 != "TOTAL")  %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = Nace_r2)) + 
  theme_minimal() + xlab("") + ylab("% of GDP") +
  scale_color_manual(values = viridis(5)[1:4]) +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-500, 200, 1),
                     labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.75, 0.85),
        legend.title = element_blank())

1995-

Code
nama_10_a64_e %>%
  filter(nace_r2 %in% c("C", "TOTAL", "L", "Q", "F"),
         geo %in% c("FR"),
         unit == "THS_HW",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(nace_r2, by = "nace_r2") %>%
  select(nace_r2, Nace_r2, date, values) %>%
  group_by(date) %>%
  mutate(values = values/ values[nace_r2 == "TOTAL"]) %>%
  filter(nace_r2 != "TOTAL")  %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = Nace_r2)) + 
  theme_minimal() + xlab("") + ylab("% of GDP") +
  scale_color_manual(values = viridis(5)[1:4]) +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 30, 2),
                     labels = percent_format(accuracy = 1),
                     limits = c(0, 0.3)) +
  theme(legend.position = c(0.75, 0.85),
        legend.title = element_blank())

Germany

Table

All

Code
nama_10_a64_e %>%
  filter(geo %in% c("DE"),
         unit == "THS_HW",
         na_item == "EMP_DC",
         time %in% c("1978", "1998",  "2008", "2018")) %>%
  left_join(nace_r2, by = "nace_r2") %>%
  select(nace_r2, Nace_r2, time, values) %>%
  group_by(time) %>%
  mutate(values = round(100*values/ values[nace_r2 == "TOTAL"], 1)) %>%
  filter(nace_r2 != "TOTAL")  %>%
  spread(time, values) %>%
  print_table_conditional

Manufacturing

Code
nama_10_a64_e %>%
  filter(geo %in% c("DE"),
         unit == "THS_HW",
         na_item == "EMP_DC",
         time %in% c("1978", "1998",  "2008", "2018")) %>%
  filter(grepl("C", nace_r2) | nace_r2 == "TOTAL") %>%
  left_join(nace_r2, by = "nace_r2") %>%
  select(nace_r2, Nace_r2, time, values) %>%
  group_by(time) %>%
  mutate(values = round(100*values/ values[nace_r2 == "TOTAL"], 1)) %>%
  filter(nace_r2 != "TOTAL")  %>%
  spread(time, values) %>%
  arrange(-`2018`) %>%
  print_table_conditional
nace_r2 Nace_r2 1998 2008 2018
C Industrie manufacturière 20.5 19.0 18.1
C24_C25 Métallurgie et fabrication de produits métalliques, à l'exception des machines et des équipements 3.1 3.0 2.8
C28 Fabrication de machines et équipements n.c.a. 2.8 2.8 2.8
C29_C30 Industrie automobile et construction navale 2.5 2.4 2.4
C10-C12 Industries alimentaires; fabrication de boissons et de produits à base de tabac 2.3 2.3 2.1
C22_C23 Fabrication de produits en caoutchouc et en plastique et autres produits minéraux non métalliques 1.9 1.8 1.7
C31-C33 Fabrication de meubles, bijouterie, instruments de musique, jouets, réparation et installation de machines et équipements 1.8 1.6 1.6
C27 Fabrication d'équipements électriques 1.4 1.3 1.2
C16-C18 Travail du bois et du papier, imprimerie et reproduction 1.7 1.3 1.0
C20 Industrie chimique 1.0 0.9 0.9
C26 Fabrication de produits informatiques, électroniques et optiques 0.9 0.9 0.9
C13-C15 Fabrication de textiles, industrie de l'habillement, du cuir et de la chaussure 0.7 0.4 0.3
C21 Industrie pharmaceutique 0.3 0.3 0.3
C19 Cokéfaction et raffinage 0.1 0.0 0.0

Construction, Human health, Manufacturing, Real estate

Code
nama_10_a64_e %>%
  filter(nace_r2 %in% c("C", "TOTAL", "L", "Q", "F"),
         geo %in% c("DE"),
         unit == "THS_HW",
         na_item == "EMP_DC") %>%
  year_to_date() %>%
  left_join(nace_r2, by = "nace_r2") %>%
  select(nace_r2, Nace_r2, date, values) %>%
  group_by(date) %>%
  mutate(values = values/ values[nace_r2 == "TOTAL"]) %>%
  filter(nace_r2 != "TOTAL")  %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = Nace_r2)) + 
  theme_minimal() + xlab("") + ylab("% of GDP") +
  scale_color_manual(values = viridis(5)[1:4]) +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 30, 2),
                     labels = percent_format(accuracy = 1),
                     limits = c(0, 0.3)) +
  theme(legend.position = c(0.75, 0.85),
        legend.title = element_blank())