Gross capital formation by industry (up to NACE A*64)

Data - Eurostat

Info

source dataset .html .RData
eurostat nama_10_a64_p5 2024-11-22 2024-11-23
eurostat nama_10_gdp 2024-11-22 2024-11-22

Data on inflation

source dataset .html .RData
bis CPI 2024-07-01 2022-01-20
ecb CES 2024-11-21 2024-11-21
eurostat nama_10_co3_p3 2024-11-08 2024-10-09
eurostat prc_hicp_cow 2024-11-22 2024-10-08
eurostat prc_hicp_ctrb 2024-11-22 2024-10-08
eurostat prc_hicp_inw 2024-11-05 2024-11-23
eurostat prc_hicp_manr 2024-11-22 2024-11-21
eurostat prc_hicp_midx 2024-11-01 2024-11-23
eurostat prc_hicp_mmor 2024-11-22 2024-11-23
eurostat prc_ppp_ind 2024-11-22 2024-10-08
eurostat sts_inpp_m 2024-06-24 2024-11-21
eurostat sts_inppd_m 2024-11-22 2024-11-21
eurostat sts_inppnd_m 2024-06-24 2024-11-21
fred cpi 2024-11-21 2024-11-21
fred inflation 2024-11-21 2024-11-21
imf CPI 2024-06-20 2020-03-13
oecd MEI_PRICES_PPI 2024-09-15 2024-04-15
oecd PPP2017 2024-04-16 2023-07-25
oecd PRICES_CPI 2024-04-16 2024-04-15
wdi FP.CPI.TOTL.ZG 2023-01-15 2024-09-18
wdi NY.GDP.DEFL.KD.ZG 2024-09-18 2024-09-18

LAST_COMPILE

LAST_COMPILE
2024-11-23

Last

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

nace_r2

Code
nama_10_a64_p5 %>%
  left_join(nace_r2, by = "nace_r2") %>%
  group_by(nace_r2, Nace_r2) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

na_item

Code
nama_10_a64_p5 %>%
  left_join(na_item, by = "na_item") %>%
  group_by(na_item, Na_item) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  {if (is_html_output()) print_table(.) else .}
na_item Na_item Nobs
P51G Gross fixed capital formation 13956223
P5G Gross capital formation 551145
P52 Changes in inventories 175031
P52_P53 Changes in inventories and acquisitions less disposals of valuables 106325
P53 Acquisitions less disposals of valuables 77683

asset10

Code
nama_10_a64_p5 %>%
  left_join(asset10, by = "asset10") %>%
  group_by(asset10, Asset10) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  {if (is_html_output()) print_table(.) else .}
asset10 Asset10 Nobs
N11G Total fixed assets (gross) 1425483
N11MG Machinery and equipment and weapons systems (gross) 1325324
N112G Other buildings and structures (gross) 1301335
N117G Intellectual property products (gross) 1299266
N1131G Transport equipment (gross) 1297069
N11KG Total Construction (gross) 1135111
N11OG Other machinery and equipment and weapons systems (gross) 999063
N1132G ICT equipment (gross) 955017
N1173G Computer software and databases (gross) 827213
N111G Dwellings (gross) 746486
N1171G Research and development (gross) 714458
N11321G Computer hardware (gross) 664942
N115G Cultivated biological resources (gross) 661396
N11322G Telecommunications equipment (gross) 604060
N1G Produced non-financial assets (gross) 551145
N12G Inventories (gross) 175031
N1MG Inventories and acquisitions less disposals of valuables (gross) 106325
N13G Valuables (gross) 77683

unit

Code
nama_10_a64_p5 %>%
  left_join(unit, by = "unit") %>%
  group_by(unit, Unit) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

time

Code
nama_10_a64_p5 %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

geo

Code
nama_10_a64_p5 %>%
  left_join(geo, by = "geo") %>%
  group_by(geo, Geo) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

France, Italy, Germany

C - Manufacturing

Code
nama_10_a64_p5 %>%
  filter(unit == "CP_MEUR",
         geo %in% c("FR", "IT", "DE"),
         nace_r2 == "C",
         asset10 == "N11G") %>%
  left_join(nama_10_gdp %>%
              filter(na_item == "B1GQ",
                     unit == "CP_MEUR") %>%
              select(geo, time, gdp = values), 
            by = c("geo", "time")) %>%
  left_join(geo, by = "geo") %>%
  year_to_date %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/gdp) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  theme_minimal()  + add_3flags +
  scale_color_identity() + xlab("") + ylab("% of GDP") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2020, 5), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 200, .1),
                     labels = scales::percent_format(accuracy = .1))

B-E - Energy

Code
nama_10_a64_p5 %>%
  filter(unit == "CP_MEUR",
         geo %in% c("FR", "IT", "DE"),
         nace_r2 == "B-E",
         asset10 == "N11G") %>%
  left_join(nama_10_gdp %>%
              filter(na_item == "B1GQ",
                     unit == "CP_MEUR") %>%
              select(geo, time, gdp = values), 
            by = c("geo", "time")) %>%
  left_join(geo, by = "geo") %>%
  year_to_date %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/gdp) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  theme_minimal()  + add_3flags +
  scale_color_identity() + xlab("") + ylab("% of GDP") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2020, 5), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 200, .1),
                     labels = scales::percent_format(accuracy = .1))

France, Italy, United Kingdom, Spain, Germany

TOTAL investment

N11G - Total

Table

Code
nama_10_a64_p5 %>%
  filter(unit == "CP_MEUR",
         geo %in% c("FR", "NL", "IT", "ES", "DE"),
         asset10 == "N11G",
         time == "2021") %>%
  left_join(nama_10_gdp %>%
              filter(na_item == "B1GQ",
                     unit == "CP_MEUR") %>%
              select(geo, time, gdp = values), 
            by = c("geo", "time")) %>%
  left_join(geo, by = "geo") %>%
  left_join(nace_r2, by = "nace_r2") %>%
  mutate(values = 100*values/gdp) %>%
  select_if(~ n_distinct(.) > 1) %>%
  select(-geo, -gdp) %>%
  spread(Geo, values) %>%
  arrange(-France) %>%
  print_table_conditional()

TOTAL - All sectors

Code
nama_10_a64_p5 %>%
  filter(unit == "CP_MEUR",
         geo %in% c("FR", "NL", "IT", "ES", "DE"),
         nace_r2 == "TOTAL",
         asset10 == "N11G") %>%
  left_join(nama_10_gdp %>%
              filter(na_item == "B1GQ",
                     unit == "CP_MEUR") %>%
              select(geo, time, gdp = values), 
            by = c("geo", "time")) %>%
  left_join(geo, by = "geo") %>%
  year_to_date %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/gdp) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  theme_minimal()  + add_5flags +
  scale_color_identity() + xlab("") + ylab("% of GDP") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2020, 5), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
                     labels = scales::percent_format(accuracy = 1))

J - Information - communication

Code
nama_10_a64_p5 %>%
  filter(unit == "CP_MEUR",
         geo %in% c("FR", "NL", "IT", "ES", "DE"),
         nace_r2 == "J",
         asset10 == "N11G") %>%
  left_join(nama_10_gdp %>%
              filter(na_item == "B1GQ",
                     unit == "CP_MEUR") %>%
              select(geo, time, gdp = values), 
            by = c("geo", "time")) %>%
  left_join(geo, by = "geo") %>%
  year_to_date %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/gdp) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  theme_minimal()  + add_5flags +
  scale_color_identity() + xlab("") + ylab("J - Information - communication\n% of GDP") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2020, 5), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 200, .1),
                     labels = scales::percent_format(accuracy = .1))

C - Manufacturing

Code
nama_10_a64_p5 %>%
  filter(unit == "CP_MEUR",
         geo %in% c("FR", "NL", "IT", "ES", "DE"),
         nace_r2 == "C",
         asset10 == "N11G") %>%
  left_join(nama_10_gdp %>%
              filter(na_item == "B1GQ",
                     unit == "CP_MEUR") %>%
              select(geo, time, gdp = values), 
            by = c("geo", "time")) %>%
  left_join(geo, by = "geo") %>%
  year_to_date %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/gdp) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  theme_minimal()  + add_5flags +
  scale_color_identity() + xlab("") + ylab("% of GDP") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2020, 5), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 200, .1),
                     labels = scales::percent_format(accuracy = .1))

M - Professional, scientific and technical activities

All
Code
nama_10_a64_p5 %>%
  filter(unit == "CP_MEUR",
         geo %in% c("FR", "NL", "IT", "ES", "DE"),
         nace_r2 == "M",
         asset10 == "N11G") %>%
  left_join(nama_10_gdp %>%
              filter(na_item == "B1GQ",
                     unit == "CP_MEUR") %>%
              select(geo, time, gdp = values), 
            by = c("geo", "time")) %>%
  left_join(geo, by = "geo") %>%
  year_to_date %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/gdp) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  theme_minimal()  + add_5flags +
  scale_color_identity() + xlab("") + ylab("M - Professional, scientific and technical activities\n% of GDP") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2020, 5), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 200, .1),
                     labels = scales::percent_format(accuracy = .1))

N117G
Code
nama_10_a64_p5 %>%
  filter(unit == "CP_MEUR",
         geo %in% c("FR", "NL", "IT", "ES", "DE"),
         nace_r2 == "M",
         asset10 == "N117G") %>%
  left_join(nama_10_gdp %>%
              filter(na_item == "B1GQ",
                     unit == "CP_MEUR") %>%
              select(geo, time, gdp = values), 
            by = c("geo", "time")) %>%
  left_join(geo, by = "geo") %>%
  year_to_date %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/gdp) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  theme_minimal()  + add_5flags +
  scale_color_identity() + xlab("") + ylab("M - Professional, scientific and technical activities\n% of GDP") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2020, 5), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 200, .1),
                     labels = scales::percent_format(accuracy = .1))

O - Public administration and defence; compulsory social security

Code
nama_10_a64_p5 %>%
  filter(unit == "CP_MEUR",
         geo %in% c("FR", "NL", "IT", "ES", "DE"),
         nace_r2 == "O",
         asset10 == "N11G") %>%
  left_join(nama_10_gdp %>%
              filter(na_item == "B1GQ",
                     unit == "CP_MEUR") %>%
              select(geo, time, gdp = values), 
            by = c("geo", "time")) %>%
  left_join(geo, by = "geo") %>%
  year_to_date %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/gdp) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  theme_minimal()  + add_5flags +
  scale_color_identity() + xlab("") + ylab("% of GDP") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2020, 5), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 200, .1),
                     labels = scales::percent_format(accuracy = .1))

B-E - Industry

Code
nama_10_a64_p5 %>%
  filter(unit == "CP_MEUR",
         geo %in% c("FR", "NL", "IT", "ES", "DE"),
         nace_r2 == "B-E",
         asset10 == "N11G") %>%
  left_join(nama_10_gdp %>%
              filter(na_item == "B1GQ",
                     unit == "CP_MEUR") %>%
              select(geo, time, gdp = values), 
            by = c("geo", "time")) %>%
  left_join(geo, by = "geo") %>%
  year_to_date %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/gdp) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  theme_minimal()  + add_5flags +
  scale_color_identity() + xlab("") + ylab("% of GDP") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2020, 5), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 200, .1),
                     labels = scales::percent_format(accuracy = .1))

F - Construction

Code
nama_10_a64_p5 %>%
  filter(unit == "CP_MEUR",
         geo %in% c("FR", "NL", "IT", "CH", "DE"),
         nace_r2 == "F",
         asset10 == "N11G") %>%
  left_join(nama_10_gdp %>%
              filter(na_item == "B1GQ",
                     unit == "CP_MEUR") %>%
              select(geo, time, gdp = values), 
            by = c("geo", "time")) %>%
  left_join(geo, by = "geo") %>%
  year_to_date %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/gdp) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  theme_minimal()  + add_4flags +
  scale_color_identity() + xlab("") + ylab("% of GDP") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2020, 5), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 200, .1),
                     labels = scales::percent_format(accuracy = .1))

C20 - Chemicals

Code
nama_10_a64_p5 %>%
  filter(unit == "CP_MEUR",
         geo %in% c("FR", "NL", "IT", "ES", "DE"),
         nace_r2 == "C20",
         asset10 == "N11G") %>%
  left_join(nama_10_gdp %>%
              filter(na_item == "B1GQ",
                     unit == "CP_MEUR") %>%
              select(geo, time, gdp = values), 
            by = c("geo", "time")) %>%
  left_join(geo, by = "geo") %>%
  year_to_date %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/gdp) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  theme_minimal()  + add_3flags +
  scale_color_identity() + xlab("") + ylab("% of GDP") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2020, 5), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 200, .1),
                     labels = scales::percent_format(accuracy = .1))

N117G - Intellectual property products (gross)

Code
nama_10_a64_p5 %>%
  filter(unit == "CP_MEUR",
         geo %in% c("FR", "NL", "IT", "ES", "DE"),
         nace_r2 == "TOTAL",
         asset10 == "N117G") %>%
  left_join(nama_10_gdp %>%
              filter(na_item == "B1GQ",
                     unit == "CP_MEUR") %>%
              select(geo, time, gdp = values), 
            by = c("geo", "time")) %>%
  left_join(geo, by = "geo") %>%
  year_to_date %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/gdp) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  theme_minimal()  + add_5flags +
  scale_color_identity() + xlab("") + ylab("% of GDP") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2020, 5), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
                     labels = scales::percent_format(accuracy = 1))

N1132G - ICT equipment (gross)

Code
nama_10_a64_p5 %>%
  filter(unit == "CP_MEUR",
         geo %in% c("FR", "NL", "IT", "ES", "DE"),
         nace_r2 == "TOTAL",
         asset10 == "N1132G") %>%
  left_join(nama_10_gdp %>%
              filter(na_item == "B1GQ",
                     unit == "CP_MEUR") %>%
              select(geo, time, gdp = values), 
            by = c("geo", "time")) %>%
  left_join(geo, by = "geo") %>%
  year_to_date %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/gdp) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  theme_minimal()  + add_5flags +
  scale_color_identity() + xlab("") + ylab("% of GDP") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2020, 5), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 200, .2),
                     labels = scales::percent_format(accuracy = .1))

Investissement en France

Long

Code
nama_10_a64_p5 %>%
  filter(geo == "FR",
         na_item == "P51G",
         unit == "CP_MEUR",
         time == "2018") %>%
  left_join(asset10, by = "asset10") %>%
  left_join(nace_r2, by = "nace_r2") %>%
  select(nace_r2, Nace_r2, asset10, Asset10, values) %>%
  arrange(-values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

Large

Code
nama_10_a64_p5 %>%
  filter(geo == "FR",
         na_item == "P51G",
         unit == "CP_MEUR",
         time == "2018") %>%
  left_join(nace_r2, by = "nace_r2") %>%
  select(nace_r2, Nace_r2, asset10, values) %>%
  spread(asset10, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

France, Germany, Italy, Netherlands, Spain

N11G - All

Code
nama_10_a64_p5 %>%
  filter(unit == "PD15_EUR",
         geo %in% c("FR", "NL", "IT", "DE", "ES"),
         nace_r2 == "TOTAL",
         asset10 == "N11G") %>%
  left_join(geo, by = "geo") %>%
  year_to_date %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  group_by(Geo) %>%
  mutate(values = 100*values/values[date == as.Date("1995-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  theme_minimal()  + add_5flags +
  scale_color_identity() + xlab("") + ylab("") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2022, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.85),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 10))

N1132G - ICT equipment (gross)

Code
nama_10_a64_p5 %>%
  filter(unit == "PD15_EUR",
         geo %in% c("FR", "NL", "IT", "DE", "ES"),
         nace_r2 == "TOTAL",
         asset10 == "N1132G") %>%
  left_join(geo, by = "geo") %>%
  year_to_date %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  group_by(Geo) %>%
  mutate(values = 100*values/values[date == as.Date("1995-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  theme_minimal()  + add_5flags +
  scale_color_identity() + xlab("") + ylab("") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2022, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.85),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 10))

Information -communication

Code
nama_10_a64_p5 %>%
  filter(unit == "PD15_EUR",
         geo %in% c("FR", "NL", "IT", "DE", "ES"),
         nace_r2 == "J",
         asset10 == "N11G") %>%
  left_join(geo, by = "geo") %>%
  year_to_date %>%
  filter(date >= as.Date("1995-01-01")) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  group_by(Geo) %>%
  mutate(values = 100*values/values[date == as.Date("1995-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  theme_minimal()  + add_5flags +
  scale_color_identity() + xlab("") + ylab("") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2022, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.85),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 10))