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

Data - Eurostat

Info

source dataset Title .html .rData
eurostat nama_10_a64_p5 Gross capital formation by industry (up to NACE A*64) 2025-10-10 2025-10-09
eurostat nama_10_gdp GDP and main components (output, expenditure and income) 2025-10-10 2025-10-09

Data on inflation

source dataset Title .html .rData
bis CPI Consumer Price Index 2025-10-10 2025-10-09
ecb CES Consumer Expectations Survey 2025-08-28 2025-05-24
eurostat nama_10_co3_p3 Final consumption expenditure of households by consumption purpose (COICOP 3 digit) 2025-10-10 2025-09-26
eurostat prc_hicp_cow HICP - country weights 2025-10-10 2025-10-10
eurostat prc_hicp_ctrb Contributions to euro area annual inflation (in percentage points) 2025-10-10 2025-10-10
eurostat prc_hicp_inw HICP - item weights 2025-10-10 2025-10-09
eurostat prc_hicp_manr HICP (2015 = 100) - monthly data (annual rate of change) 2025-10-10 2025-10-10
eurostat prc_hicp_midx HICP (2015 = 100) - monthly data (index) 2025-10-10 2025-10-09
eurostat prc_hicp_mmor HICP (2015 = 100) - monthly data (monthly rate of change) 2025-10-10 2025-10-09
eurostat prc_ppp_ind Purchasing power parities (PPPs), price level indices and real expenditures for ESA 2010 aggregates 2025-10-10 2025-10-10
eurostat sts_inpp_m Producer prices in industry, total - monthly data 2025-10-10 2025-10-09
eurostat sts_inppd_m Producer prices in industry, domestic market - monthly data 2025-10-10 2025-10-10
eurostat sts_inppnd_m Producer prices in industry, non domestic market - monthly data 2024-06-24 2025-10-10
fred cpi Consumer Price Index 2025-10-09 2025-10-09
fred inflation Inflation 2025-10-09 2025-10-09
imf CPI Consumer Price Index - CPI 2025-08-28 2020-03-13
oecd MEI_PRICES_PPI Producer Prices - MEI_PRICES_PPI 2025-09-29 2024-04-15
oecd PPP2017 2017 PPP Benchmark results 2024-04-16 2023-07-25
oecd PRICES_CPI Consumer price indices (CPIs) 2024-04-16 2024-04-15
wdi FP.CPI.TOTL.ZG Inflation, consumer prices (annual %) 2023-01-15 2025-09-27
wdi NY.GDP.DEFL.KD.ZG Inflation, GDP deflator (annual %) 2025-10-10 2025-09-27

LAST_COMPILE

LAST_COMPILE
2025-10-11

Last

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

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 17176520
P5G Gross capital formation 585564
P52 Changes in inventories 160545
P52_P53 Changes in inventories and acquisitions less disposals of valuables 88300
P53 Acquisitions less disposals of valuables 64097

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) 1606617
N11MG Machinery and equipment and weapons systems (gross) 1563952
N112G Other buildings and structures (gross) 1542203
N117G Intellectual property products (gross) 1535385
N1131G Transport equipment (gross) 1530630
N11KG Total Construction (gross) 1429883
N11OG Other machinery and equipment and weapons systems (gross) 1227087
N1132G ICT equipment (gross) 1192282
N1173G Computer software and databases (gross) 1125144
N11321G Computer hardware (gross) 973063
N1171G Research and development (gross) 955612
N111G Dwellings (gross) 890382
N11322G Telecommunications equipment (gross) 862386
N115G Cultivated biological resources (gross) 741894
N1G Produced non-financial assets (gross) 585564
N12G Inventories (gross) 160545
N1MG Inventories and acquisitions less disposals of valuables (gross) 88300
N13G Valuables (gross) 64097

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))