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

Data - Eurostat

Info

source dataset Title .html .rData
eurostat nama_10_a64 National accounts aggregates by industry (up to NACE A*64) 2025-10-10 2025-10-09
eurostat nama_10_a64_e National accounts employment data by industry (up to NACE A*64) 2025-10-10 2025-10-09

Data on employment

source dataset Title .html .rData
eurostat nama_10_a64_e National accounts employment data by industry (up to NACE A*64) 2025-10-10 2025-10-09
bls jt NA NA NA
bls la NA NA NA
bls ln NA NA NA
eurostat nama_10_a10_e Employment by A*10 industry breakdowns 2025-10-10 2025-10-09
eurostat namq_10_a10_e Employment A*10 industry breakdowns 2025-05-24 2025-10-10
eurostat une_rt_m Unemployment by sex and age – monthly data 2025-10-10 2025-10-10
oecd ALFS_EMP Employment by activities and status (ALFS) 2024-04-16 2025-05-24
oecd EPL_T Strictness of employment protection – temporary contracts 2025-09-29 2023-12-10
oecd LFS_SEXAGE_I_R LFS by sex and age - indicators 2025-09-29 2024-04-15
oecd STLABOUR Short-Term Labour Market Statistics 2025-09-29 2025-01-17

Data on macro

source dataset Title .html .rData
eurostat nama_10_a10 Gross value added and income by A*10 industry breakdowns 2025-10-10 2025-10-10
eurostat nama_10_a10_e Employment by A*10 industry breakdowns 2025-10-10 2025-10-09
eurostat nama_10_gdp GDP and main components (output, expenditure and income) 2025-10-10 2025-10-09
eurostat nama_10_lp_ulc Labour productivity and unit labour costs 2025-10-10 2025-10-10
eurostat namq_10_a10 Gross value added and income A*10 industry breakdowns 2025-10-10 2025-10-09
eurostat namq_10_a10_e Employment A*10 industry breakdowns 2025-05-24 2025-10-10
eurostat namq_10_gdp GDP and main components (output, expenditure and income) 2025-10-10 2025-10-10
eurostat namq_10_lp_ulc Labour productivity and unit labour costs 2025-10-10 2025-09-26
eurostat namq_10_pc Main GDP aggregates per capita 2025-10-10 2025-10-09
eurostat nasa_10_nf_tr Non-financial transactions 2025-10-10 2025-10-10
eurostat nasq_10_nf_tr Non-financial transactions 2025-10-10 2025-09-26
fred gdp Gross Domestic Product 2025-10-09 2025-10-09
oecd QNA Quarterly National Accounts 2024-06-06 2025-05-24
oecd SNA_TABLE1 Gross domestic product (GDP) 2025-09-29 2025-05-24
oecd SNA_TABLE14A Non-financial accounts by sectors 2025-09-29 2024-06-30
oecd SNA_TABLE2 Disposable income and net lending - net borrowing 2024-07-01 2024-04-11
oecd SNA_TABLE6A Value added and its components by activity, ISIC rev4 2024-07-01 2024-06-30
wdi NE.RSB.GNFS.ZS External balance on goods and services (% of GDP) 2025-10-10 2025-09-27
wdi NY.GDP.MKTP.CD GDP (current USD) 2025-10-10 2025-09-27
wdi NY.GDP.MKTP.PP.CD GDP, PPP (current international D) 2025-10-10 2025-09-27
wdi NY.GDP.PCAP.CD GDP per capita (current USD) 2025-10-10 2025-09-27
wdi NY.GDP.PCAP.KD GDP per capita (constant 2015 USD) 2025-10-10 2025-09-27
wdi NY.GDP.PCAP.PP.CD GDP per capita, PPP (current international D) 2025-10-10 2025-09-27
wdi NY.GDP.PCAP.PP.KD GDP per capita, PPP (constant 2011 international D) 2025-10-10 2025-09-27

LAST_COMPILE

LAST_COMPILE
2025-10-11

Last

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

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 328395
PCH_PRE_PER Percentage change on previous period (based on persons) 298877
THS_HW Thousand hours worked 273223
PCH_PRE_HW Percentage change on previous period (based on hours worked) 250352
THS_JOB Thousand jobs 68290
PCH_PRE_JOB Percentage change on previous period (based on jobs) 60175

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 444274
SAL_DC Employees domestic concept 429670
SELF_DC Self-employed domestic concept 405368

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 +
  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 +
  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 +
  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 +
  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 +
  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 +
  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 +
  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 +
  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 +
  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 +
  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 +
  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 +
  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 22.3 15.1 11.8 9.9
C10-C12 Industries alimentaires; fabrication de boissons et de produits à base de tabac 2.8 2.7 2.3 2.3
C31-C33 Fabrication de meubles, bijouterie, instruments de musique, jouets, réparation et installation de machines et équipements 3.6 2.6 2.1 1.9
C24_C25 Métallurgie et fabrication de produits métalliques, à l'exception des machines et des équipements 3.0 1.9 1.6 1.3
C22_C23 Fabrication de produits en caoutchouc et en plastique et autres produits minéraux non métalliques 1.8 1.2 1.1 0.8
C29_C30 Industrie automobile et construction navale 2.2 1.2 1.0 0.8
C16-C18 Travail du bois et du papier, imprimerie et reproduction 1.5 1.2 0.9 0.6
C28 Fabrication de machines et équipements n.c.a. 1.3 0.9 0.8 0.5
C13-C15 Fabrication de textiles, industrie de l'habillement, du cuir et de la chaussure 3.4 1.4 0.6 0.4
C20 Industrie chimique 0.9 0.6 0.5 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.6 0.4 0.3
C21 Industrie pharmaceutique 0.2 0.2 0.2 0.1
C19 Cokéfaction et raffinage 0.1 0.0 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.9
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.7 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())