| source | dataset | Title | .html | .rData |
|---|---|---|---|---|
| eurostat | hbs_str_t211 | Structure of consumption expenditure by COICOP consumption purpose | 2025-10-10 | 2025-10-09 |
Structure of consumption expenditure by COICOP consumption purpose
Data - Eurostat
Info
Data on housing
| source | dataset | Title | .html | .rData |
|---|---|---|---|---|
| bdf | RPP | Prix de l'immobilier | 2025-08-28 | 2025-08-24 |
| bis | LONG_PP | Residential property prices - detailed series | 2025-10-10 | 2024-05-10 |
| bis | SELECTED_PP | Property prices, selected series | 2025-10-10 | 2025-10-09 |
| ecb | RPP | Residential Property Price Index Statistics | 2025-10-09 | 2025-08-29 |
| eurostat | ei_hppi_q | House price index (2015 = 100) - quarterly data | 2025-10-10 | 2025-10-09 |
| eurostat | hbs_str_t223 | Mean consumption expenditure by income quintile | 2025-10-01 | 2025-10-09 |
| eurostat | prc_hicp_midx | HICP (2015 = 100) - monthly data (index) | 2025-10-10 | 2025-10-09 |
| eurostat | prc_hpi_q | House price index (2015 = 100) - quarterly data | 2025-10-10 | 2025-09-26 |
| fred | housing | House Prices | 2025-10-09 | 2025-10-09 |
| insee | IPLA-IPLNA-2015 | Indices des prix des logements neufs et Indices Notaires-Insee des prix des logements anciens | 2025-10-10 | 2025-10-09 |
| oecd | SNA_TABLE5 | Final consumption expenditure of households | 2025-09-29 | 2023-10-19 |
| oecd | housing | NA | NA | NA |
LAST_COMPILE
| LAST_COMPILE |
|---|
| 2025-10-11 |
Last
Code
hbs_str_t211 %>%
group_by(time) %>%
summarise(Nobs = n()) %>%
arrange(desc(time)) %>%
head(2) %>%
print_table_conditional()| time | Nobs |
|---|---|
| 2020 | 4800 |
| 2015 | 6102 |
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 | 205 |
| CP02 | Alcoholic beverages, tobacco and narcotics | 205 |
| CP03 | Clothing and footwear | 205 |
| CP04 | Housing, water, electricity, gas and other fuels | 205 |
| CP05 | Furnishings, household equipment and routine household maintenance | 205 |
| CP06 | Health | 205 |
| CP07 | Transport | 205 |
| CP08 | Communications | 205 |
| CP09 | Recreation and culture | 205 |
| CP10 | Education | 204 |
| CP11 | Restaurants and hotels | 205 |
| CP12 | Miscellaneous goods and services | 205 |
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 | 6102 |
| 2020 | 4800 |
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 .}