HICP - item weights

Data - Eurostat

Info

source dataset .html .RData
eurostat prc_hicp_inw 2024-11-01 2024-11-05

Données sur l’inflation en France

source dataset .html .RData
insee bdf2017 2024-11-05 2023-11-21
insee ILC-ILAT-ICC 2024-11-05 2024-11-05
insee INDICES_LOYERS 2024-11-05 2024-11-05
insee IPC-1970-1980 2024-11-05 2024-11-05
insee IPC-1990 2024-11-05 2024-11-05
insee IPC-2015 2024-11-05 2024-11-05
insee IPC-PM-2015 2024-11-05 2024-11-05
insee IPCH-2015 2024-11-05 2024-11-05
insee IPGD-2015 2024-08-22 2024-10-26
insee IPLA-IPLNA-2015 2024-11-05 2024-11-05
insee IPPI-2015 2024-11-05 2024-11-05
insee IRL 2024-11-05 2024-11-05
insee SERIES_LOYERS 2024-11-05 2024-11-05
insee T_CONSO_EFF_FONCTION 2024-11-05 2024-07-18

Data on inflation

source dataset .html .RData
bis CPI 2024-07-01 2022-01-20
ecb CES 2024-10-08 2024-01-12
eurostat nama_10_co3_p3 2024-11-05 2024-10-09
eurostat prc_hicp_cow 2024-11-05 2024-10-08
eurostat prc_hicp_ctrb 2024-11-05 2024-10-08
eurostat prc_hicp_inw 2024-11-01 2024-11-05
eurostat prc_hicp_manr 2024-11-01 2024-10-08
eurostat prc_hicp_midx 2024-11-01 2024-11-05
eurostat prc_hicp_mmor 2024-11-01 2024-10-08
eurostat prc_ppp_ind 2024-11-01 2024-10-08
eurostat sts_inpp_m 2024-06-24 2024-10-08
eurostat sts_inppd_m 2024-10-09 2024-10-08
eurostat sts_inppnd_m 2024-06-24 2024-10-08
fred cpi 2024-11-01 2024-11-01
fred inflation 2024-11-01 2024-11-01
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-05

Last

Code
prc_hicp_inw %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(time)) %>%
  head(3) %>%
  print_table_conditional()
time Nobs
2024 18491
2023 18694
2022 18692

coicop

All

Code
prc_hicp_inw %>%
  left_join(coicop, by = "coicop") %>%
  group_by(coicop, Coicop) %>%
  summarise(Nobs = n(),
            `2022, France` = values[geo == "FR" & time == "2022"],
            `2022, Germany` = values[geo == "DE" & time == "2022"]) %>%
  print_table_conditional()

2-digit

Code
prc_hicp_inw %>%
  left_join(coicop, by = "coicop") %>%
  filter(nchar(coicop) == 4) %>%
  group_by(coicop, Coicop) %>%
  summarise(Nobs = n(),
            `2022, France` = values[geo == "FR" & time == "2022"],
            `2022, Germany` = values[geo == "DE" & time == "2022"]) %>%
  print_table_conditional()
coicop Coicop Nobs 2022, France 2022, Germany
CP00 All-items HICP 1190 1000.00 1000.00
CP01 Food and non-alcoholic beverages 1190 165.55 126.57
CP02 Alcoholic beverages, tobacco and narcotics 1190 44.94 44.96
CP03 Clothing and footwear 1190 39.81 43.16
CP04 Housing, water, electricity, gas and other fuels 1190 174.41 252.20
CP05 Furnishings, household equipment and routine household maintenance 1190 59.28 60.90
CP06 Health 1190 45.48 57.50
CP07 Transport 1190 158.40 149.44
CP08 Communications 1190 30.32 29.44
CP09 Recreation and culture 1190 80.25 97.20
CP10 Education 1190 3.76 9.72
CP11 Restaurants and hotels 1190 73.73 39.42
CP12 Miscellaneous goods and services 1190 124.05 89.49
FOOD Food including alcohol and tobacco 1143 210.49 171.53
FUEL Liquid fuels and fuels and lubricants for personal transport equipment 1141 47.34 53.47
SERV Services (overall index excluding goods) 1068 435.93 440.98

3-digit

Code
prc_hicp_inw %>%
  left_join(coicop, by = "coicop") %>%
  filter(nchar(coicop) == 5) %>%
  group_by(coicop, Coicop) %>%
  summarise(Nobs = n(),
            `2022, France` = values[geo == "FR" & time == "2022"],
            `2022, Germany` = values[geo == "DE" & time == "2022"]) %>%
  print_table_conditional()

4-digit

Code
prc_hicp_inw %>%
  left_join(coicop, by = "coicop") %>%
  filter(nchar(coicop) == 6) %>%
  group_by(coicop, Coicop) %>%
  summarise(Nobs = n(),
            `2022, France` = values[geo == "FR" & time == "2022"],
            `2022, Germany` = values[geo == "DE" & time == "2022"]) %>%
  print_table_conditional()

5-digit

Code
prc_hicp_inw %>%
  left_join(coicop, by = "coicop") %>%
  filter(nchar(coicop) == 7) %>%
  group_by(coicop, Coicop) %>%
  summarise(Nobs = n(),
            `2022, France` = values[geo == "FR" & time == "2022"],
            `2022, Germany` = values[geo == "DE" & time == "2022"]) %>%
  print_table_conditional()

Other

Code
prc_hicp_inw %>%
  left_join(coicop, by = "coicop") %>%
  filter(nchar(coicop) > 7) %>%
  group_by(coicop, Coicop) %>%
  summarise(Nobs = n(),
            `2022, France` = values[geo == "FR" & time == "2022"],
            `2022, Germany` = values[geo == "DE" & time == "2022"]) %>%
  print_table_conditional()

geo

Code
prc_hicp_inw %>%
  left_join(geo, by = "geo") %>%
  group_by(geo, Geo) %>%
  summarise(Nobs = n()) %>%
  mutate(Flag = gsub(" ", "-", str_to_lower(Geo)),
         Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) %>%
  select(Flag, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

time

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

France

Table

Code
prc_hicp_inw %>%
  left_join(coicop, by = "coicop") %>%
  filter(geo == "FR",
         substr(coicop, 1, 2) == "CP" ,
         coicop != "CP00",
         time %in% c("2017", "2023")) %>%
  select(-geo) %>%
  spread(time, values) %>%
  print_table_conditional()

2-digit

Code
`table1-2digit` <- prc_hicp_inw %>%
  left_join(coicop, by = "coicop") %>%
  filter(geo == "FR",
         nchar(coicop) == 4,
         substr(coicop, 1, 2) == "CP" ,
         coicop != "CP00",
         time %in% c("2017", "2023")) %>%
  select(-geo) %>%
  spread(time, values)


`table1-2digit` %>%
  print_table_conditional()
freq coicop Coicop 2017 2023
A CP01 Food and non-alcoholic beverages 160.04 161.90
A CP02 Alcoholic beverages, tobacco and narcotics 42.41 40.95
A CP03 Clothing and footwear 49.60 40.13
A CP04 Housing, water, electricity, gas and other fuels 157.96 164.05
A CP05 Furnishings, household equipment and routine household maintenance 58.53 55.61
A CP06 Health 44.59 42.25
A CP07 Transport 159.15 164.75
A CP08 Communications 31.85 27.58
A CP09 Recreation and culture 89.23 80.92
A CP10 Education 3.81 4.80
A CP11 Restaurants and hotels 83.10 99.18
A CP12 Miscellaneous goods and services 119.73 117.87
Code
`table1-2digit` %>%
  gt::gt() %>%
  gt::gtsave(filename = "prc_hicp_inw_files/figure-html/table1-2digit-1.png")

3-digit: CP082_083

Code
`table1-3digit` <- prc_hicp_inw %>%
  left_join(coicop, by = "coicop") %>%
  filter(geo == "FR",
         nchar(coicop) == 5 | coicop == "CP082_083",
         substr(coicop, 1, 2) == "CP" ,
         coicop != "CP00",
         time %in% c("2017", "2023")) %>%
  select(-geo) %>%
  spread(time, values)


`table1-3digit` %>%
  print_table_conditional()
Code
`table1-3digit` %>%
  gt::gt() %>%
  gt::gtsave(filename = "prc_hicp_inw_files/figure-html/table1-3digit-1.png")

CP082, CP083, CP08, CP091, CP053

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP0820", "CP0830", "CP08", "CP091", "CP053"),
         geo %in% c("FR")) %>%
  year_to_date %>%
  left_join(coicop, by = "coicop") %>%
  ggplot() + theme_minimal() + ylab("") + xlab("") +
  geom_line(aes(x = date, y = values/1000, color = paste(coicop, Coicop))) +
  #scale_color_manual(values = viridis(4)[1:3]) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.35, 0.8),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(0, 1, 0.005),
               labels = percent_format(a = .1))

CP01, CP04, CP07

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP01", "CP04", "CP07"),
         geo %in% c("FR")) %>%
  year_to_date %>%
  left_join(coicop, by = "coicop") %>%
  ggplot() + theme_minimal() + ylab("") + xlab("") +
  geom_line(aes(x = date, y = values/1000, color = Coicop)) +
  #scale_color_manual(values = viridis(4)[1:3]) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(0, 1, 0.01),
               labels = percent_format(a = 1))

CP05, CP09, CP11, CP12

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP05", "CP09", "CP11", "CP12"),
         geo %in% c("FR")) %>%
  year_to_date %>%
  left_join(coicop, by = "coicop") %>%
  ggplot() + theme_minimal() + ylab("") + xlab("") +
  geom_line(aes(x = date, y = values/1000, color = Coicop)) +
  #scale_color_manual(values = viridis(5)[1:4]) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.4, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(0, 1, 0.01),
               labels = percent_format(a = 1))

CP02, CP03, CP06, CP08

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP02", "CP03", "CP06", "CP08"),
         geo %in% c("FR")) %>%
  year_to_date %>%
  left_join(coicop, by = "coicop") %>%
  ggplot() + theme_minimal() + ylab("") + xlab("") +
  geom_line(aes(x = date, y = values/1000, color = Coicop)) +
  #scale_color_manual(values = viridis(5)[1:4]) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.73, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(0, 1, 0.01),
               labels = percent_format(a = 1))

Part Energie

2022

Code
prc_hicp_inw %>%
  filter(time %in% c("2022"),
         coicop %in% c("AP_NRG", "NRG", "CP045", "CP0722")) %>%
  left_join(geo, by = "geo") %>%
  mutate(values = round(values/10, 1)) %>%
  select(Geo, coicop, values) %>%
  spread(coicop, values) %>%
  transmute(Geo,
            `Energy, Non Adm` = NRG - AP_NRG,
            `Electricity, gas and other fuels` = CP045,
            `Fuels and lubricants` = CP0722,
            `Energy, Adm` = AP_NRG,
            Energy = NRG) %>%
  arrange(-`Energy, Non Adm`) %>%
  mutate(Flag = gsub(" ", "-", str_to_lower(Geo)),
         Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) %>%
  select(Flag, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

France, Germany, Italy

2020

Code
prc_hicp_inw %>%
  filter(time == "2020",
         geo %in% c("FR", "DE", "IT")) %>%
  left_join(geo, by = "geo") %>%
  left_join(coicop, by = "coicop") %>%
  select(coicop, Coicop, Geo, values) %>%
  spread(Geo, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

2010

Code
prc_hicp_inw %>%
  filter(time == "2010",
         geo %in% c("FR", "DE", "IT")) %>%
  left_join(geo, by = "geo") %>%
  left_join(coicop, by = "coicop") %>%
  select(coicop, Coicop, Geo, values) %>%
  spread(Geo, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

2000

Code
prc_hicp_inw %>%
  filter(time == "2000",
         geo %in% c("FR", "DE", "IT")) %>%
  left_join(geo, by = "geo") %>%
  left_join(coicop, by = "coicop") %>%
  select(coicop, Coicop, Geo, values) %>%
  spread(Geo, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

France - 2020, 2010, 2000

2-digit

Code
prc_hicp_inw %>%
  filter(time %in% c("2000", "2010", "2020"),
         geo %in% c("FR"),
         nchar(coicop) == 4) %>%
  left_join(coicop, by = "coicop") %>%
  select(coicop, Coicop, time, values) %>%
  spread(time, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

3-digit

Code
prc_hicp_inw %>%
  filter(time %in% c("2000", "2010", "2020"),
         geo %in% c("FR"),
         nchar(coicop) %in% c(4, 5)) %>%
  left_join(coicop, by = "coicop") %>%
  select(coicop, Coicop, time, values) %>%
  spread(time, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

All

Code
prc_hicp_inw %>%
  filter(time %in% c("2000", "2010", "2020"),
         geo %in% c("FR")) %>%
  left_join(coicop, by = "coicop") %>%
  select(coicop, Coicop, time, values) %>%
  spread(time, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

Germany - 2020, 2010, 2000

2-digit

Code
prc_hicp_inw %>%
  filter(time %in% c("2000", "2010", "2020"),
         geo %in% c("DE"),
         nchar(coicop) == 4) %>%
  left_join(coicop, by = "coicop") %>%
  select(coicop, Coicop, time, values) %>%
  spread(time, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

3-digit

Code
prc_hicp_inw %>%
  filter(time %in% c("2000", "2010", "2020"),
         geo %in% c("DE"),
         nchar(coicop) %in% c(4,5)) %>%
  left_join(coicop, by = "coicop") %>%
  select(coicop, Coicop, time, values) %>%
  spread(time, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

All

Code
prc_hicp_inw %>%
  filter(time %in% c("2000", "2010", "2020"),
         geo %in% c("DE")) %>%
  left_join(coicop, by = "coicop") %>%
  select(coicop, Coicop, time, values) %>%
  spread(time, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

Euro Area - 2020, 2010, 2000

2-digit

Code
prc_hicp_inw %>%
  filter(time %in% c("2000", "2010", "2020"),
         geo %in% c("EA"),
         nchar(coicop) == 4) %>%
  left_join(coicop, by = "coicop") %>%
  select(coicop, Coicop, time, values) %>%
  spread(time, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

3-digit

Code
prc_hicp_inw %>%
  filter(time %in% c("2000", "2010", "2020"),
         geo %in% c("EA"),
         nchar(coicop) %in% c(4,5)) %>%
  left_join(coicop, by = "coicop") %>%
  select(coicop, Coicop, time, values) %>%
  spread(time, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

All

Code
prc_hicp_inw %>%
  filter(time %in% c("2000", "2010", "2020"),
         geo %in% c("EA")) %>%
  left_join(coicop, by = "coicop") %>%
  select(coicop, Coicop, time, values) %>%
  spread(time, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

2020 - Housing

Javascript

Code
prc_hicp_inw %>%
  filter(time %in% c("2020"),
         coicop %in% c("CP04", "CP041", "CP043", "CP044", "CP045")) %>%
  left_join(coicop, by = "coicop") %>%
  left_join(geo, by = "geo") %>%
  select(geo, Geo, Coicop, values) %>%
  spread(Coicop, values) %>%
  mutate(Flag = gsub(" ", "-", str_to_lower(Geo)),
         Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) %>%
  select(Flag, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

2020 - Total / Rents Housing

Javascript

Code
prc_hicp_inw %>%
  filter(time %in% c("2020"),
         coicop %in% c("CP04", "CP041")) %>%
  left_join(geo, by = "geo") %>%
  mutate(values = round(values/10, 1)) %>%
  select(Geo, coicop, values) %>%
  spread(coicop, values) %>%
  arrange(-CP041) %>%
  rename(Housing = CP04, `Actual rentals` = CP041) %>%
  mutate_at(vars(-Geo), funs(paste0(., "%"))) %>%
  mutate(Flag = gsub(" ", "-", str_to_lower(Geo)),
         Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) %>%
  select(Flag, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

png

Code
i_g("bib/eurostat/prc_hicp_inw_ex2.png")

Rent Share in HICP VS Share of renters

Code
i_g("data/eurostat/ilc_lvho02_files/figure-html/rent-share-CP041-correlation-1.png")

France, Germany, Italy, Europe, Spain

CP04 - Housing, water, electricity, gas and other fuels

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP04"),
         geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/1000) %>%
  mutate(Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + theme_minimal() + ylab("Housing, water, electricity, gas and other fuels ") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + add_5flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 1, 0.01),
               labels = percent_format(a = 1))

CP041 - Actual rentals for housing

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP041"),
         geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/1000) %>%
  mutate(Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + theme_minimal() + ylab("Actual rentals for housing") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + add_5flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(0, 1, 0.01),
               labels = percent_format(a = 1))

CP10 - Education

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP10"),
         geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/1000) %>%
  mutate(Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + theme_minimal() + ylab("CP10 - Education") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + add_5flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 10, 0.1),
               labels = percent_format(a = .1))

France, Germany, Italy

CP0820

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP0820"),
         geo %in% c("FR", "DE", "IT")) %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/1000) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + theme_minimal() + ylab("CP0820") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + add_3flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 10, 0.1),
               labels = percent_format(a = .1))

CP091

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP091"),
         geo %in% c("FR", "DE", "IT")) %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/1000) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + theme_minimal() + ylab("CP091") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + add_3flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 10, 0.1),
               labels = percent_format(a = .1))

CP10 - Education

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP10"),
         geo %in% c("FR", "DE", "IT")) %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/1000) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + theme_minimal() + ylab("CP10 - Education") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + add_3flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 10, 0.1),
               labels = percent_format(a = .1))

CP06 - Health

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP06"),
         geo %in% c("FR", "DE", "IT")) %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/1000) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + theme_minimal() + ylab("Health ") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + add_3flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(0, 1, 0.01),
               labels = percent_format(a = 1))

CP061 - Medical products, appliances and equipment

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP061"),
         geo %in% c("FR", "DE", "IT")) %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/1000) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + theme_minimal() + ylab("Health ") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + add_3flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(0, 1, 0.01),
               labels = percent_format(a = 1))

CP062 - Out-patient services

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP062"),
         geo %in% c("FR", "DE", "IT")) %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/1000) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + theme_minimal() + ylab("Health ") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + add_3flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(0, 1, 0.01),
               labels = percent_format(a = 1))

CP063 - Hospital Services

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP063"),
         geo %in% c("FR", "DE", "IT")) %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/1000) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + theme_minimal() + ylab("Health ") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + add_3flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(0, 1, 0.001),
               labels = percent_format(a = .1))