Structure of consumption expenditure by COICOP consumption purpose

Data - Eurostat

Info

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

Data on housing

source dataset .html .RData
bdf RPP 2024-07-26 2024-07-01
bis LONG_PP 2024-08-09 2024-05-10
bis SELECTED_PP 2024-10-31 2024-10-31
ecb RPP 2024-10-08 2024-10-30
eurostat ei_hppi_q 2024-11-05 2024-10-23
eurostat hbs_str_t223 2024-11-01 2024-11-05
eurostat prc_hicp_midx 2024-11-01 2024-11-05
eurostat prc_hpi_q 2024-11-01 2024-10-09
fred housing 2024-11-01 2024-11-01
insee IPLA-IPLNA-2015 2024-11-05 2024-11-05
oecd housing 2024-09-15 2020-01-18
oecd SNA_TABLE5 2024-09-11 2023-10-19

LAST_COMPILE

LAST_COMPILE
2024-11-05

Last

Code
hbs_str_t211 %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(time)) %>%
  head(2) %>%
  print_table_conditional()
time Nobs
2020 4734
2015 5928

coicop

All

Code
hbs_str_t211 %>%
  left_join(coicop, by = "coicop") %>%
  group_by(coicop, Coicop) %>%
  summarise(Nobs = n()) %>%
  print_table_conditional()

2-digit

Code
hbs_str_t211 %>%
  filter(nchar(coicop) == 4) %>%
  left_join(coicop, by = "coicop") %>%
  group_by(coicop, Coicop) %>%
  summarise(Nobs = n()) %>%
  print_table_conditional()
coicop Coicop Nobs
CP01 Food and non-alcoholic beverages 202
CP02 Alcoholic beverages, tobacco and narcotics 202
CP03 Clothing and footwear 202
CP04 Housing, water, electricity, gas and other fuels 202
CP05 Furnishings, household equipment and routine household maintenance 202
CP06 Health 202
CP07 Transport 202
CP08 Communications 202
CP09 Recreation and culture 202
CP10 Education 201
CP11 Restaurants and hotels 202
CP12 Miscellaneous goods and services 202

3-digit

Code
hbs_str_t211 %>%
  filter(nchar(coicop) == 5) %>%
  left_join(coicop, by = "coicop") %>%
  group_by(coicop, Coicop) %>%
  summarise(Nobs = n()) %>%
  print_table_conditional()

4-digit

Code
hbs_str_t211 %>%
  filter(nchar(coicop) == 6) %>%
  left_join(coicop, by = "coicop") %>%
  group_by(coicop, Coicop) %>%
  summarise(Nobs = n()) %>%
  print_table_conditional()

geo

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

time

Code
hbs_str_t211 %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  print_table_conditional()
time Nobs
1988 1307
1994 2316
1999 2348
2005 8233
2010 7334
2015 5928
2020 4734

France

Table

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

2-digit

Code
hbs_str_t211 %>%
  left_join(coicop, by = "coicop") %>%
  filter(geo == "FR",
         substr(coicop, 1, 2) == "CP",
         nchar(coicop) == 4,
         coicop != "CP00",
         time %in% c("2015", "2020")) %>%
  select(-unit) %>%
  select(-geo) %>%
  spread(time, values) %>%
  print_table_conditional()
freq coicop Coicop 2015 2020
A CP01 Food and non-alcoholic beverages 143 143
A CP02 Alcoholic beverages, tobacco and narcotics 25 25
A CP03 Clothing and footwear 40 40
A CP04 Housing, water, electricity, gas and other fuels 289 289
A CP05 Furnishings, household equipment and routine household maintenance 48 48
A CP06 Health 16 16
A CP07 Transport 132 132
A CP08 Communications 24 24
A CP09 Recreation and culture 77 77
A CP10 Education 6 6
A CP11 Restaurants and hotels 55 55
A CP12 Miscellaneous goods and services 147 147

3-digit

Code
hbs_str_t211 %>%
  left_join(coicop, by = "coicop") %>%
  filter(geo == "FR",
         substr(coicop, 1, 2) == "CP",
         nchar(coicop) == 5,
         coicop != "CP00",
         time %in% c("2015", "2020")) %>%
  select(-unit) %>%
  select(-geo) %>%
  spread(time, values) %>%
  print_table_conditional()

4-digit

Code
hbs_str_t211 %>%
  left_join(coicop, by = "coicop") %>%
  filter(geo == "FR",
         substr(coicop, 1, 2) == "CP",
         nchar(coicop) == 6,
         coicop != "CP00",
         time %in% c("2015", "2020")) %>%
  select(-unit) %>%
  select(-geo) %>%
  spread(time, values) %>%
  print_table_conditional()

Table

2015

Code
hbs_str_t211 %>%
  filter(time == "2015",
         coicop %in% c("CP04", "CP041", "CP042")) %>%
  left_join(geo, by = "geo") %>%
  select_if(~ n_distinct(.) > 1) %>%
  spread(coicop, values) %>%
  arrange(-CP04) %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  mutate(Flag = gsub(" ", "-", str_to_lower(Geo)),
         Flag = paste0('<img src="../../bib/flags/vsmall/', Flag, '.png" alt="Flag">')) %>%
  select(Flag, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

2020

Code
hbs_str_t211 %>%
  filter(time == "2020",
         coicop %in% c("CP04", "CP041", "CP042")) %>%
  left_join(geo, by = "geo") %>%
  select_if(~ n_distinct(.) > 1) %>%
  spread(coicop, values) %>%
  arrange(-CP04) %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  mutate(Flag = gsub(" ", "-", str_to_lower(Geo)),
         Flag = paste0('<img src="../../bib/flags/vsmall/', Flag, '.png" alt="Flag">')) %>%
  select(Flag, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}