HICP - item weights

Data - Eurostat

Info

source dataset .html .RData
eurostat prc_hicp_inw 2025-06-25 2025-05-30

Données sur l’inflation en France

source dataset .html .RData
insee bdf2017 2025-05-24 2023-11-21
insee echantillon-agglomerations-IPC-2024 2025-05-24 2025-04-02
insee ILC-ILAT-ICC 2025-05-24 2025-06-16
insee INDICES_LOYERS 2025-05-24 2025-06-16
insee IPC-1970-1980 2025-05-24 2025-06-16
insee IPC-1990 2025-05-24 2025-06-16
insee IPC-2015 2025-05-24 2025-06-16
insee IPC-PM-2015 2025-05-24 2025-06-16
insee IPCH-2015 2025-06-02 2025-06-16
insee IPCH-IPC-2015-ensemble 2025-05-24 2025-06-02
insee IPGD-2015 2025-05-24 2025-05-24
insee IPLA-IPLNA-2015 2025-05-24 2025-06-16
insee IPPI-2015 2025-05-24 2025-06-16
insee IRL 2025-05-24 2025-05-24
insee liste-varietes-IPC-2024 2025-05-24 2025-04-02
insee ponderations-elementaires-IPC-2024 2025-05-24 2025-04-02
insee SERIES_LOYERS 2025-05-24 2025-05-24
insee T_CONSO_EFF_FONCTION 2025-05-24 2024-07-18

Data on inflation

source dataset .html .RData
bis CPI 2024-12-29 2022-01-20
ecb CES 2025-05-24 2025-05-24
eurostat nama_10_co3_p3 2025-06-02 2025-06-02
eurostat prc_hicp_cow 2025-06-05 2025-06-05
eurostat prc_hicp_ctrb 2025-05-18 2025-05-18
eurostat prc_hicp_inw 2025-06-25 2025-05-30
eurostat prc_hicp_manr 2025-06-16 2025-06-16
eurostat prc_hicp_midx 2025-06-24 2025-06-05
eurostat prc_hicp_mmor 2025-05-18 2025-05-30
eurostat prc_ppp_ind 2025-05-18 2025-05-18
eurostat sts_inpp_m 2024-06-24 2025-05-30
eurostat sts_inppd_m 2025-05-24 2025-05-24
eurostat sts_inppnd_m 2024-06-24 2025-05-24
fred cpi 2025-05-30 2025-05-30
fred inflation 2025-04-20 2025-05-30
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 2025-05-24
wdi NY.GDP.DEFL.KD.ZG 2025-03-09 2025-03-09

LAST_COMPILE

LAST_COMPILE
2025-06-25

Last

Code
prc_hicp_inw %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(time)) %>%
  head(3) %>%
  print_table_conditional()
time Nobs
2025 18504
2024 18499
2023 18512

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 1232 1000.00 1000.00
CP01 Food and non-alcoholic beverages 1232 165.55 126.57
CP02 Alcoholic beverages, tobacco and narcotics 1232 44.94 44.96
CP03 Clothing and footwear 1232 39.81 43.16
CP04 Housing, water, electricity, gas and other fuels 1232 174.41 252.20
CP05 Furnishings, household equipment and routine household maintenance 1232 59.28 60.90
CP06 Health 1232 45.48 57.50
CP07 Transport 1232 158.40 149.44
CP08 Communications 1232 30.32 29.44
CP09 Recreation and culture 1232 80.25 97.20
CP10 Education 1232 3.76 9.72
CP11 Restaurants and hotels 1232 73.73 39.42
CP12 Miscellaneous goods and services 1232 124.05 89.49
FOOD Food including alcohol and tobacco 1185 210.49 171.53
FUEL Liquid fuels and fuels and lubricants for personal transport equipment 1183 47.34 53.47
SERV Services (overall index excluding goods) 1110 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")

Goods, Services

CP

Code
prc_hicp_inw %>%
  filter(coicop %in% c(paste0("CP0", 1:9), paste0(paste0("CP1", 1:2))),
         geo %in% c("FR")) %>%
  year_to_date %>%
  left_join(coicop, by = "coicop") %>%
  ggplot() + theme_minimal() + ylab("") + xlab("") +
  geom_area(aes(x = date, y = values/1000, fill = paste(coicop, Coicop)),
            position = "stack") +
  #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.38, 0.5),
        legend.title = element_blank(),
        legend.direction = "vertical",
        legend.key.height = unit(0.5, "lines"),   # 🔽 Reduce vertical spacing
        legend.text = element_text(size = 9)) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5),
               labels = percent_format(a = 1),
               limits = c(0, 1))

Goods vs. Services

Code
prc_hicp_inw %>%
  filter(coicop %in% c("GD", "SERV"),
         geo %in% c("FR")) %>%
  year_to_date %>%
  left_join(coicop, by = "coicop") %>%
  ggplot() + theme_minimal() + ylab("") + xlab("") +
  geom_area(aes(x = date, y = values/1000, fill = paste(coicop, Coicop)),
            position = "stack") +
  #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.5, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical",
        legend.key.height = unit(0.5, "lines"),   # 🔽 Reduce vertical spacing
        legend.text = element_text(size = 9)) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5),
               labels = percent_format(a = 1),
               limits = c(0, 1))

More Detail

Code
prc_hicp_inw %>%
  filter(coicop %in% c("IGD_NNRG_D", "IGD_NNRG_ND", "IGD_NNRG_SD", "SERV", "NRG"),
         geo %in% c("FR")) %>%
  year_to_date %>%
  left_join(coicop, by = "coicop") %>%
  ggplot() + theme_minimal() + ylab("") + xlab("") +
  geom_area(aes(x = date, y = values/1000, fill = paste(coicop, Coicop)),
            position = "stack") +
  #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.5, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical",
        legend.key.height = unit(0.5, "lines"),   # 🔽 Reduce vertical spacing
        legend.text = element_text(size = 9)) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5),
               labels = percent_format(a = 1),
               limits = c(0, 1))

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

CP082, CP083, CP08, CP091, CP053, CP071

All

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP0820", "CP0830", "CP08", "CP091", "CP053", "CP071"),
         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.45, 0.8),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(0, 1, 0.005),
               labels = percent_format(a = .1))

Entre 10 et 15% sur lesquels effets qualité sont clés

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP0820", "CP0830", "CP091", "CP053", "CP071"),
         geo %in% c("FR")) %>%
  year_to_date %>%
  left_join(coicop, by = "coicop") %>%
  ggplot() + theme_minimal() + ylab("") + xlab("") +
  geom_area(aes(x = date, y = values/1000, fill = paste(coicop, Coicop)),
            position = "stack") +
  #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.5, 0.85),
        legend.title = element_blank(),
        legend.direction = "vertical",
        legend.key.height = unit(0.5, "lines"),   # 🔽 Reduce vertical spacing
        legend.text = element_text(size = 9)) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
               labels = percent_format(a = 1),
               limits = c(0, 0.15))

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) %>%
  mutate(values = values/10) %>%
  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) %>%
  mutate(values = values/10) %>%
  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 - 2022-2024

3-digit

Code
prc_hicp_inw %>%
  filter(time %in% c("2022", "2023", "2024"),
         geo %in% c("FR"),
         nchar(coicop) %in% c(4, 5) | coicop %in% c("CP0820", "CP0830")) %>%
  left_join(coicop, by = "coicop") %>%
  mutate(values = values/10) %>%
  select(coicop, Coicop, time, values) %>%
  spread(time, 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

CP071

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP071"),
         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("CP071") + 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))

CP0711

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP0711"),
         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("CP0711") + 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))

CP0712

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP0712"),
         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("CP0712") + 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))

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

CP092

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP092"),
         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("CP092") + 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))

CP09211

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP09211"),
         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("CP09211") + 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))

CP0921

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP0921"),
         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("CP0921") + 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))

France - CP0921, CP0922, CP0923

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP0921", "CP0922", "CP0923"),
         geo %in% c("FR")) %>%
  year_to_date %>%
  left_join(coicop, by = "coicop") %>%
  mutate(values = values/1000) %>%
  ggplot() + theme_minimal() + ylab("CP092") + xlab("") +
  geom_line(aes(x = date, y = values, color = Coicop)) + 
  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))