Consommation effective des ménages par fonction

Data - INSEE

Info

source dataset Title .html .rData
insee T_CONSO_EFF_FONCTION Consommation effective des ménages par fonction 2025-10-10 2024-07-18

Données sur le pouvoir d’achat

source dataset Title .html .rData
insee CNA-2014-RDB Revenu et pouvoir d’achat des ménages 2025-10-10 2025-10-09
insee CNT-2014-CSI Comptes de secteurs institutionnels 2025-10-10 2025-10-09
insee T_7401 7.401 – Compte des ménages (S14) (En milliards d'euros) 2025-10-10 2025-09-29
insee conso-eff-fonction Consommation effective des ménages par fonction 2025-10-10 2022-06-14
insee econ-gen-revenu-dispo-pouv-achat-2 Revenu disponible brut et pouvoir d’achat - Données annuelles 2025-10-10 2024-07-05
insee reve-conso-evo-dep-pa Évolution de la dépense et du pouvoir d’achat des ménages - Données annuelles de 1960 à 2023 2025-10-10 2024-12-11
insee reve-niv-vie-individu-activite NA NA NA
insee reve-niv-vie-pouv-achat-trim Évolution du revenu disponible brut et du pouvoir d’achat - Données trimestrielles 2025-10-10 2024-12-11
insee t_men_val Revenu, pouvoir d'achat et comptes des ménages - Valeurs aux prix courants 2025-10-10 2025-08-29
insee t_pouvachat_val Pouvoir d'achat et ratios des comptes des ménages 2025-10-10 2025-08-29
insee t_recapAgent_val Récapitulatif des séries des comptes d'agents 2025-10-10 2025-09-29
insee t_salaire_val Salaire moyen par tête - SMPT (données CVS) 2025-10-10 2025-08-29
oecd HH_DASH Household Dashboard 2025-09-29 2023-09-09

LAST_COMPILE

LAST_COMPILE
2025-10-11

Dernière

Code
T_CONSO_EFF_FONCTION %>%
  group_by(year) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(year)) %>%
  head(2) %>%
  print_table_conditional()
year Nobs
2022 828
2021 882

Données reliées

  • Consommation des ménages - CNA-2014-CONSO-MEN. html
  • Consommation effective des ménages par produit - conso-eff-produit. html
  • Consommation effective des ménages par durabilite - conso-eff-durabilite. html

Sources

  • Comptes de la Nation 2020 - Consommation. html
  • Comptes de la Nation 2019 - Consommation. html

Info

Les tableaux détaillés présentent la consommation effective des ménages depuis 1959 jusqu’à l’année du compte provisoire, déclinée aux niveaux diffusables les plus fins des nomenclatures de produits (Nomenclature agrégée), de fonction (COICOP) et de durabilité.

Pour chaque nomenclature (produit, fonction durabilité), les résultats détaillés ont le format suivant :

  1. Séries en niveau :
    • Consommation aux prix courants (onglet MEURcour), que l’on appelle aussi “en valeur” ou “en euros courants”
    • Consommation en volume aux prix de l’année précédente chaînés (onglet M€2014), que l’on appelle aussi ““en volume”” ou en ““euros 2014”“. Les consommations en volume au prix de l’année précédente chaînée ne sont pas sommables. En conséquence, la somme des consommations en volume aux prix de l’année précédente chaîné des séries élémentaires constituant un niveau diffère de la consommation pour le niveau total de l’agrégat.
    • Indices de prix base 100 en 2014 (onglet IPRIX2014)
  2. Séries en évolution n/n-1 :
    • Indices de valeur base 100 l’année précédente (onglet Ival)
    • Indices de volume base 100 l’année précédente (onglet Ivol)
    • Indices de prix base 100 l’année précédente (onglet Iprix)
  3. Structure des séries :
    • Coefficients budgétaires aux prix courants en % (onglet COEFFCOUR)

variable

Code
T_CONSO_EFF_FONCTION %>%
  group_by(variable) %>%
  summarise(Nobs = n()) %>%
  print_table_conditional()
variable Nobs
COEFFCOUR 9374
IPRIX2014 9374
IVAL 9227
IVOL 9227
MEUR2014 9374
MEURcour 9374

fonction, Fonction

Tous

Code
T_CONSO_EFF_FONCTION %>%
  group_by(fonction, Fonction) %>%
  summarise(Nobs = n()) %>%
  print_table_conditional()

2-digit

Code
T_CONSO_EFF_FONCTION %>%
  filter(nchar(fonction) == 2) %>%
  group_by(fonction, Fonction) %>%
  summarise(Nobs = n()) %>%
  print_table_conditional()
fonction Fonction Nobs
_Z Total 382

3-digit

Code
T_CONSO_EFF_FONCTION %>%
  filter(nchar(fonction) == 4) %>%
  group_by(fonction, Fonction) %>%
  summarise(Nobs = n()) %>%
  print_table_conditional()
fonction Fonction Nobs
CP01 Produits alimentaires et boissons non alcoolisées 382
CP02 Boissons alcoolisées, tabac et stupéfiants 382
CP03 Articles d'habillement et chaussures 382
CP04 Logement, eau, gaz, électricité et autres combustibles 382
CP05 Meubles, articles de ménage et entretien courant du foyer 382
CP06 Santé 382
CP07 Transports 382
CP08 Communications 382
CP09 Loisirs et culture 382
CP10 Enseignement 382
CP11 Restaurants et hôtels 382
CP12 Biens et services divers 382
CP13 Dépenses de consommation individuelle à la charge des institutions sans but lucratif au service des ménages (ISBLSM) 382
CP14 Dépenses de consommation individuelle à la charge des administrations publiques 382
CP15 Correction territoriale 382

4-digit

Code
T_CONSO_EFF_FONCTION %>%
  filter(nchar(fonction) == 6) %>%
  group_by(fonction, Fonction) %>%
  summarise(Nobs = n()) %>%
  print_table_conditional()

5-digit

Code
T_CONSO_EFF_FONCTION %>%
  filter(nchar(fonction) == 8) %>%
  group_by(fonction, Fonction) %>%
  summarise(Nobs = n()) %>%
  print_table_conditional()
fonction Fonction Nobs
CPDEPHSI Dépense de consommation des ménages hors SIFIM 382

Autres

Code
T_CONSO_EFF_FONCTION %>%
  filter(!(nchar(fonction) %in% c(2, 4, 6))) %>%
  group_by(fonction, Fonction) %>%
  summarise(Nobs = n()) %>%
  print_table_conditional()

year

Code
T_CONSO_EFF_FONCTION %>%
  group_by(year) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(year)) %>%
  print_table_conditional()

2020

Désordonné

Code
T_CONSO_EFF_FONCTION %>%
  filter(variable == "MEURcour") %>%
  year_to_date2 %>%
  left_join(gdp, by = "date") %>%
  filter(date == as.Date("2020-01-01")) %>%
  select(-date) %>%
  mutate(`% du PIB` = (100*value/(gdp)) %>% round(., digits = 2),
         value = round(value) %>% paste0(" Mds€")) %>%
  select(-gdp) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

Ordonné

Code
T_CONSO_EFF_FONCTION %>%
  filter(variable == "MEURcour") %>%
  year_to_date2 %>%
  left_join(gdp, by = "date") %>%
  filter(date == as.Date("2020-01-01")) %>%
  select(-date) %>%
  arrange(-value) %>%
  mutate(`% du PIB` = (100*value/(gdp)) %>% round(., digits = 2),
         value = round(value) %>% paste0(" Mds€")) %>%
  select(-gdp) %>%
  print_table_conditional()

Loyers réels, loyers imputés

Mds €

Code
T_CONSO_EFF_FONCTION %>%
  filter(variable == "MEURcour") %>%
  year_to_date2 %>%
  filter(fonction %in% c("CP041", "CP042", "CP045")) %>%
  left_join(gdp, by = "date") %>%
  ggplot(.) + theme_minimal() + ylab("Consommation (Milliards€)") + xlab("") +
  geom_line(aes(x = date, y = value/1000, color = Fonction)) +
  theme(legend.title = element_blank(),
        legend.position = c(0.3, 0.91)) +
  scale_x_date(breaks = seq(1950, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 500, 20),
                     labels = dollar_format(acc = 1, pre = "", su = " Mds€"))

% de la consommation

Code
T_CONSO_EFF_FONCTION %>%
  filter(variable == "MEURcour") %>%
  year_to_date2 %>%
  filter(fonction %in% c("CP041", "CP042", "CP045")) %>%
  left_join(gdp, by = "date") %>%
  ggplot(.) + theme_minimal() + ylab("Consommation (% du PIB)") + xlab("") +
  geom_line(aes(x = date, y = value/(gdp), color = Fonction)) +
  theme(legend.title = element_blank(),
        legend.position = c(0.3, 0.91)) +
  scale_x_date(breaks = seq(1950, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  
  scale_y_continuous(breaks = 0.01*seq(0, 100, 0.5),
                     labels = scales::percent_format(accuracy = 0.1))

Entretien et réparation des logements

Code
T_CONSO_EFF_FONCTION %>%
  filter(variable == "MEURcour") %>%
  year_to_date2 %>%
  filter(fonction %in% c("CP043", "CP044")) %>%
  left_join(gdp, by = "date") %>%
  ggplot(.) + theme_minimal() + ylab("Consommation (% du PIB)") + xlab("") +
  geom_line(aes(x = date, y = value/(gdp), color = Fonction)) +
  theme(legend.title = element_blank(),
        legend.position = c(0.6, 0.2)) +
  scale_x_date(breaks = seq(1950, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  
  scale_y_continuous(breaks = 0.01*seq(0, 100, 0.1),
                     labels = scales::percent_format(accuracy = 0.1))

Indices de Prix

Tous

Code
T_CONSO_EFF_FONCTION %>%
  filter(variable == "IPRIX2014",
         year %in% c("1990", "2020")) %>%
  select(-variable) %>%
  spread(year, value) %>%
  mutate(`% / an` = round(100*((`2020`/`1990`)^(1/30)-1), 2)) %>%
  arrange(`% / an`) %>%
  print_table_conditional()

Déflateurs

Code
T_CONSO_EFF_FONCTION %>%
  filter(variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(Fonction %in% c("Dépense de consommation des ménages",
                         "Dépense de consommation des ménages hors SIFIM",
                         "Consommation effective des ménages"))  %>%
  filter(date >= as.Date("1990-01-01")) %>%
  group_by(fonction) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  ggplot + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = value, color = Fonction)) +
  scale_x_date(breaks = seq(1960, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(100, 300, 10)) +
  
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank())

Loyers effectifs, imputés

All

Code
T_CONSO_EFF_FONCTION %>%
  filter(variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(fonction %in% c("CP041", "CP042"))  %>%
  filter(date >= as.Date("1990-01-01")) %>%
  group_by(fonction) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  ggplot + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = value, color = Fonction)) +
  scale_x_date(breaks = seq(1960, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(100, 300, 10)) +
  
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank())

1996-

Code
T_CONSO_EFF_FONCTION %>%
  filter(variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(fonction %in% c("CP041", "CP042"))  %>%
  filter(date >= as.Date("1996-01-01")) %>%
  group_by(fonction) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  ggplot + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = value, color = Fonction)) +
  scale_x_date(breaks = seq(1996, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(100, 300, 10)) +
  
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank())

Forts effets qualité

1972-

Code
T_CONSO_EFF_FONCTION %>%
  filter(variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(fonction %in% c("CP082", "CP0913", "CP0912", "CP0911", "CP1261"))  %>%
  filter(date >= as.Date("1972-01-01")) %>%
  group_by(fonction) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  ggplot + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = value, color = Fonction)) +
  scale_x_date(breaks = seq(1960, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = c(0.1, 1, 2, 3, 5, 10, 20, 30, 50, 100, 200, 400, 800, 1600)) +
  theme(legend.position = c(0.35, 0.2),
        legend.title = element_blank())

1990-

Code
T_CONSO_EFF_FONCTION %>%
  filter(variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(fonction %in% c("CP082", "CP0913", "CP0912", "CP0911", "CP1261"))  %>%
  filter(date >= as.Date("1990-01-01")) %>%
  group_by(fonction) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  ggplot + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = value, color = Fonction)) +
  scale_x_date(breaks = seq(1960, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = c(0.1, 1, 2, 3, 5, 10, 20, 30, 50, 100)) +
  theme(legend.position = c(0.35, 0.2),
        legend.title = element_blank())

1996-

Code
T_CONSO_EFF_FONCTION %>%
  filter(variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(fonction %in% c("CP082", "CP0913", "CP0912", "CP0911", "CP1261"))  %>%
  filter(date >= as.Date("1996-01-01")) %>%
  group_by(fonction) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  ggplot + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = value, color = Fonction)) +
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = c(0.1, 1, 2, 3, 5, 10, 20, 30, 50, 100)) +
  theme(legend.position = c(0.35, 0.2),
        legend.title = element_blank())

Poids

% de la dépense de consommation finale effective

Code
T_CONSO_EFF_FONCTION %>%
  filter(variable == "COEFFCOUR",
         year %in% c("1960", "1990", "2020")) %>%
  select(-variable) %>%
  spread(year, value) %>%
  arrange(-`2020`) %>%
  print_table_conditional()

CP091 (Matériel audiovisuel, photographique et informatique), CP082 (Matériel de téléphonie et de télécopie)

Code
T_CONSO_EFF_FONCTION %>%
  filter(variable == "COEFFCOUR",
         fonction %in% c("CP091", "CP082", "CP126")) %>%
  year_to_date2 %>%
  mutate(value = value / 100) %>%
  ggplot() + ylab("Pondération (% de la conso effective totale)") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = paste0(fonction, " - ", Fonction))) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.28, 0.93),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 300, .5),
                     labels = percent_format(accuracy = .1))

14, 01..12+15

Code
T_CONSO_EFF_FONCTION %>%
  filter(variable == "COEFFCOUR",
         fonction %in% c("CP14", "CP01..CP12+CP15")) %>%
  year_to_date2 %>%
  mutate(value = value / 100) %>%
  ggplot() + ylab("Pondération (% de la conso effective totale)") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = paste0(fonction, " - ", Fonction))) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.4, 0.6),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5),
                     labels = percent_format(accuracy = 1))

CP141, CP142, CP143, CP144, CP145

Code
T_CONSO_EFF_FONCTION %>%
  filter(variable == "COEFFCOUR",
         fonction %in% c("CP141", "CP142", "CP143", "CP144", "CP145")) %>%
  year_to_date2 %>%
  mutate(value = value / 100) %>%
  ggplot() + ylab("Pondération (% de la conso effective totale)") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = paste0(fonction, " - ", Fonction))) +
  #
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.88),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
                     labels = percent_format(accuracy = 1))

CP041, CP042, 04.5

% de la conso effective

Code
T_CONSO_EFF_FONCTION %>%
  filter(variable == "COEFFCOUR",
         fonction %in% c("CP041", "CP042", "CP045")) %>%
  year_to_date2 %>%
  mutate(value = value / 100) %>%
  ggplot() + ylab("Pondération (% de la conso effective totale)") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = paste0(fonction, " - ", Fonction))) +
  #
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.28, 0.93),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 300, .5),
                     labels = percent_format(accuracy = .1))

% de la conso finale

Code
T_CONSO_EFF_FONCTION %>%
  filter(variable == "COEFFCOUR",
         fonction %in% c("CP041", "CP042", "CP045", "CPDEP")) %>%
  year_to_date2 %>%
  group_by(date) %>%
  mutate(value = value/value[fonction =="CPDEP"]) %>%
  ungroup %>%
  filter(fonction != "CPDEP") %>%
  ggplot() + ylab("Pondération (% de la consommation finale)") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = paste0(fonction, " - ", Fonction))) +
  #
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.28, 0.93),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 300, .5),
                     labels = percent_format(accuracy = .1))

Santé

Code
T_CONSO_EFF_FONCTION %>%
  filter(variable == "COEFFCOUR",
         fonction %in% c("CP142", "06", "CP1253", "CPDEP")) %>%
  year_to_date2 %>%
  mutate(value = value / 100) %>%
  ggplot() + ylab("Pondération (% de la conso effective totale)") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = paste0(fonction, " - ", Fonction))) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.93),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 300, .5),
                     labels = percent_format(accuracy = .1))

% de la dépense de consommation finale

All

Code
T_CONSO_EFF_FONCTION %>%
  filter(variable == "COEFFCOUR",
         year %in% c("1960", "1990", "2020")) %>%
  select(-variable) %>%
  group_by(year) %>%
  arrange(fonction) %>%
  mutate(value = round(100*value/value[fonction =="CPDEP"],2)) %>%
  spread(year, value) %>%
  print_table_conditional()

2-digit

Code
T_CONSO_EFF_FONCTION %>%
  filter(variable == "COEFFCOUR",
         year %in% c("1960", "1990", "2020"),
         nchar(fonction) == 4 | fonction =="CPDEP") %>%
  select(-variable) %>%
  group_by(year) %>%
  arrange(fonction) %>%
  mutate(value = round(100*value/value[fonction =="CPDEP"],2)) %>%
  spread(year, value) %>%
  print_table_conditional()
fonction Fonction 1960 1990 2020
CP01 Produits alimentaires et boissons non alcoolisées 25.07 14.89 14.97
CP02 Boissons alcoolisées, tabac et stupéfiants 7.13 3.42 4.39
CP03 Articles d'habillement et chaussures 11.95 6.79 3.16
CP04 Logement, eau, gaz, électricité et autres combustibles 11.45 20.13 28.41
CP05 Meubles, articles de ménage et entretien courant du foyer 8.54 6.19 4.85
CP06 Santé 2.41 3.23 4.01
CP07 Transports 10.58 15.09 11.78
CP08 Communications 0.60 2.10 2.56
CP09 Loisirs et culture 7.09 8.58 7.55
CP10 Enseignement 0.31 0.35 0.49
CP11 Restaurants et hôtels 6.67 6.17 5.67
CP12 Biens et services divers 7.41 13.74 12.82
CP13 Dépenses de consommation individuelle à la charge des institutions sans but lucratif au service des ménages (ISBLSM) 3.08 2.59 4.13
CP14 Dépenses de consommation individuelle à la charge des administrations publiques 14.21 23.59 31.78
CP15 Correction territoriale 0.78 -0.67 -0.66
CPDEP Dépense de consommation des ménages 100.00 100.00 100.00

3-digit

Code
T_CONSO_EFF_FONCTION %>%
  filter(variable == "COEFFCOUR",
         year %in% c("1960", "1990", "2020"),
         nchar(fonction) == 5 | fonction =="CPDEP") %>%
  select(-variable) %>%
  group_by(year) %>%
  arrange(fonction) %>%
  mutate(value = round(100*value/value[fonction =="CPDEP"],2)) %>%
  spread(year, value) %>%
  print_table_conditional()

4-digit

Code
T_CONSO_EFF_FONCTION %>%
  filter(variable == "COEFFCOUR",
         year %in% c("1960", "1990", "2020"),
         nchar(fonction) == 6 | fonction =="CPDEP") %>%
  select(-variable) %>%
  group_by(year) %>%
  arrange(fonction) %>%
  mutate(value = round(100*value/value[fonction =="CPDEP"],2)) %>%
  spread(year, value) %>%
  print_table_conditional()

Comparer IPC, IPCH, Déflateur de la consommation

Table Déflateur

Code
deflateur <- T_CONSO_EFF_FONCTION %>%
  filter(variable == "IPRIX2014",
         year %in% c("1990", "2020"),
         nchar(fonction) %in% c(4, 5, 6)) %>%
  mutate(fonction = gsub("\\.", "", fonction)) %>%
  select(fonction, Fonction, year, value) %>%
  spread(year, value) %>%
  mutate(`Déflateur (%)` = round(100*((`2020`/`1990`)^(1/30)-1),2)) %>%
  select(-`1990`, -`2020`)

deflateur %>%
  print_table_conditional

Table Déflateur Poids

Code
deflateur_poids <- T_CONSO_EFF_FONCTION %>%
  filter(variable == "COEFFCOUR",
         year %in% c("2020"),
         nchar(fonction) %in% c(4, 5, 6)) %>%
  mutate(fonction = gsub("\\.", "", fonction)) %>%
  select(fonction, Fonction, year, value) %>%
  spread(year, value) %>%
  rename(`Déflateur Poids` = `2020`)

deflateur_poids %>%
  print_table_conditional

Table IPC

Code
IPC <- `IPC-2015` %>%
  filter(INDICATEUR == "IPC",
         MENAGES_IPC == "ENSEMBLE",
         FREQ == "M",
         REF_AREA == "FE",
         NATURE == "INDICE",
         TIME_PERIOD %in% c("1990-01", "2020-01")) %>%
  left_join(COICOP2016, by = "COICOP2016") %>%
  select(fonction = COICOP2016, Fonction = Coicop2016, TIME_PERIOD, OBS_VALUE) %>%
  filter(!(fonction %in% c("SO", "00"))) %>%
  spread(TIME_PERIOD, OBS_VALUE) %>%
  mutate(`IPC (%)` = round(100*((`2020-01`/`1990-01`)^(1/30)-1),2)) %>%
  select(-`1990-01`, -`2020-01`)

IPC %>%
  print_table_conditional()

Table IPC Poids

Code
IPC_poids <- `IPC-2015` %>%
  filter(INDICATEUR == "IPC",
         REF_AREA == "FE",
         MENAGES_IPC == "ENSEMBLE",
         NATURE == "POND",
         TIME_PERIOD %in% c("2020")) %>%
  left_join(COICOP2016, by = "COICOP2016") %>%
  select(fonction = COICOP2016, Fonction = Coicop2016, TIME_PERIOD, OBS_VALUE) %>%
  filter(!(fonction %in% c("SO", "00"))) %>%
  mutate(OBS_VALUE = OBS_VALUE/100) %>%
  spread(TIME_PERIOD, OBS_VALUE) %>%
  rename(`IPC Poids` = `2020`)

IPC_poids %>%
  print_table_conditional()

Comparer Table Déflateur VS IPC

Tous

Code
deflateur %>%
  inner_join(IPC, by = "fonction") %>%
  mutate(Difference = `Déflateur (%)`-`IPC (%)`) %>%
  arrange(Difference) %>%
  print_table_conditional()
fonction Fonction.x Déflateur (%) Fonction.y IPC (%) Difference
NA NA NA NA NA NA
:--------: :----------: :-------------: :----------: :-------: :----------:

2-digit

Code
deflateur %>%
  inner_join(IPC, by = "fonction") %>%
  filter(nchar(fonction) == 2) %>%
  mutate(Difference = `Déflateur (%)`-`IPC (%)`) %>%
  arrange(Difference) %>%
  print_table_conditional()
fonction Fonction.x Déflateur (%) Fonction.y IPC (%) Difference
NA NA NA NA NA NA
:--------: :----------: :-------------: :----------: :-------: :----------:

3-digit

Code
deflateur %>%
  inner_join(IPC, by = "fonction") %>%
  filter(nchar(fonction) == 3) %>%
  mutate(Difference = `Déflateur (%)`-`IPC (%)`) %>%
  arrange(Difference) %>%
  print_table_conditional()
fonction Fonction.x Déflateur (%) Fonction.y IPC (%) Difference
NA NA NA NA NA NA
:--------: :----------: :-------------: :----------: :-------: :----------:

4-digit

Code
deflateur %>%
  inner_join(IPC, by = "fonction") %>%
  filter(nchar(fonction) == 4) %>%
  mutate(Difference = `Déflateur (%)`-`IPC (%)`) %>%
  arrange(Difference) %>%
  print_table_conditional()
fonction Fonction.x Déflateur (%) Fonction.y IPC (%) Difference
NA NA NA NA NA NA
:--------: :----------: :-------------: :----------: :-------: :----------:

Comparer Poids Déflateur VS IPC

Code
deflateur_poids %>%
  inner_join(IPC_poids, by = "fonction") %>%
  mutate(Difference = `Déflateur Poids`-`IPC Poids`) %>%
  arrange(Difference) %>%
  print_table_conditional()
fonction Fonction.x Déflateur Poids Fonction.y IPC Poids Difference
NA NA NA NA NA NA
:--------: :----------: :---------------: :----------: :---------: :----------:

2-digit

00 - Tous

1996-

Code
T_CONSO_EFF_FONCTION %>%
  filter(Fonction %in% c("Consommation effective des ménages",
                         "Dépense de consommation des ménages",
                         "Dépense de consommation des ménages hors SIFIM"),
         variable == "IPRIX2014") %>%
  mutate(Fonction = ifelse(fonction =="Consommation effective des ménages",
                           "Dépense de consommation effective des ménages",
                           Fonction)) %>%
  year_to_date2 %>%
  filter(date >= as.Date("1996-01-01")) %>%
  select(variable = Fonction, date, value) %>%
  mutate(variable = paste0("Déflateur de la ", variable)) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("00"),
                     FREQ == "M",
                     PRIX_CONSO == "SO",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              mutate(variable = "Indice des Prix à la Consommation (IPC)") %>%
              select(variable, date, value = OBS_VALUE)) %>%
  bind_rows(`IPCH-2015` %>%
              filter(INDICATEUR == "IPCH",
                     COICOP2016 %in% c("00"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              mutate(variable = "Indice des Prix à la Consommation Harmonisé (IPCH)") %>%
              select(variable, date, value = OBS_VALUE)) %>%
  group_by(variable) %>%
  filter(date >= as.Date("1996-01-01")) %>%
  mutate(value = 100*value/value[date == as.Date("1996-01-01")]) %>%
  mutate(variable = gsub("Indice des prix à la consommation - Base 2015 - Ensemble des ménages - France - ", "", variable)) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  #
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.8),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

2000-

Code
T_CONSO_EFF_FONCTION %>%
  filter(Fonction %in% c("Consommation effective des ménages",
                         "Dépense de consommation des ménages",
                         "Dépense de consommation des ménages hors SIFIM"),
         variable == "IPRIX2014") %>%
  mutate(Fonction = ifelse(fonction =="Consommation effective des ménages",
                           "Dépense de consommation effective des ménages",
                           Fonction)) %>%
  year_to_date2 %>%
  filter(date >= as.Date("2000-01-01")) %>%
  select(variable = Fonction, date, value) %>%
  mutate(variable = paste0("Déflateur de la ", variable)) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("00"),
                     FREQ == "M",
                     PRIX_CONSO == "SO",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              mutate(variable = "Indice des Prix à la Consommation (IPC)") %>%
              select(variable, date, value = OBS_VALUE)) %>%
  bind_rows(`IPCH-2015` %>%
              filter(INDICATEUR == "IPCH",
                     COICOP2016 %in% c("00"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              mutate(variable = "Indice des Prix à la Consommation Harmonisé (IPCH)") %>%
              select(variable, date, value = OBS_VALUE)) %>%
  group_by(variable) %>%
  filter(date >= as.Date("2000-01-01")) %>%
  mutate(value = 100*value/value[date == as.Date("2000-01-01")]) %>%
  mutate(variable = gsub("Indice des prix à la consommation - Base 2015 - Ensemble des ménages - France - ", "", variable)) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  #
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.8),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

2017-

Code
T_CONSO_EFF_FONCTION %>%
  filter(Fonction %in% c("Consommation effective des ménages",
                         "Dépense de consommation des ménages",
                         "Dépense de consommation des ménages hors SIFIM"),
         variable == "IPRIX2014") %>%
  mutate(Fonction = ifelse(fonction =="Consommation effective des ménages",
                           "Dépense de consommation effective des ménages",
                           Fonction)) %>%
  year_to_date2 %>%
  filter(date >= as.Date("2017-01-01")) %>%
  select(variable = Fonction, date, value) %>%
  mutate(variable = paste0("Déflateur de la ", variable)) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("00"),
                     FREQ == "M",
                     PRIX_CONSO == "SO",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              mutate(variable = "Indice des Prix à la Consommation (IPC)") %>%
              select(variable, date, value = OBS_VALUE)) %>%
  bind_rows(`IPCH-2015` %>%
              filter(INDICATEUR == "IPCH",
                     COICOP2016 %in% c("00"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              mutate(variable = "Indice des Prix à la Consommation Harmonisé (IPCH)") %>%
              select(variable, date, value = OBS_VALUE)) %>%
  group_by(variable) %>%
  filter(date >= as.Date("2017-01-01")) %>%
  mutate(value = 100*value/value[date == as.Date("2017-01-01")]) %>%
  mutate(variable = gsub("Indice des prix à la consommation - Base 2015 - Ensemble des ménages - France - ", "", variable)) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  #
  scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.35, 0.8),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 1),
                     labels = dollar_format(accuracy = 1, prefix = ""))

00 - Tous

All

2000-
Code
T_CONSO_EFF_FONCTION %>%
  filter(Fonction %in% c("Consommation effective des ménages",
                         "Dépense de consommation des ménages",
                         "Dépense de consommation des ménages hors SIFIM"),
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  select(variable = Fonction, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("00"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
  filter(month(date) == 1) %>%
  select(variable = TITLE_FR, date, value = OBS_VALUE)
  ) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  mutate(variable = gsub("Indice des prix à la consommation - Base 2015 - Ensemble des ménages - France - ", "", variable)) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  #
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.8),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

1996-
Code
T_CONSO_EFF_FONCTION %>%
  filter(Fonction %in% c("Consommation effective des ménages",
                         "Dépense de consommation des ménages",
                         "Dépense de consommation des ménages hors SIFIM"),
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1996-01-01")) %>%
  select(variable = Fonction, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("00"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1,
                     date >= as.Date("1996-01-01")) %>%
              select(variable = TITLE_FR, date, value = OBS_VALUE)
            ) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1996-01-01")]) %>%
  mutate(variable = gsub("Indice des prix à la consommation - Base 2015 - Ensemble des ménages - France - ", "", variable)) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  #
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.8),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP01 - Produits alimentaires et boissons non alcoolisées

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP01",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
         COICOP2016 %in% c("01"),
         FREQ == "M",
         REF_AREA == "FE",
         NATURE == "INDICE") %>%
  month_to_date %>%
  filter(month(date) == 1) %>%
  select(date, value = OBS_VALUE) %>%
  mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP02 - Boissons alcoolisées et tabac

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP02",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("02"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP03 - Articles d’habillement et chaussures

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP03",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("03"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix (03 - Habillement et chaussures)") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 1),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP04 - Logement, eau, gaz, électricité et autres combustibles

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP04",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("04"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix (04 - Logement)") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP05 - Meubles, articles de ménage et entretien courant de l’habitation

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP05",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("05"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix (05 - Meubles)") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 5),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP06 - Santé

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP06",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("06"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix (06 - Santé)") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 1),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP07 - Transports

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP07",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("07"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix (07 - Transports)") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP08 - Communications

All

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP08",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("08"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix (08 - Communications)") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

1996

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP08",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1996-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("08"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1,
                     date >= as.Date("1996-01-01")) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1996-01-01")]) %>%
  ggplot() + ylab("Indice des prix (08 - Communications)") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP09 - Loisirs et culture

All

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP09",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("09"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix (09 - Loisirs et culture)") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

1996

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP09",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1996-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("09"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1,
                     date >= as.Date("1996-01-01")) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1996-01-01")]) %>%
  ggplot() + ylab("Indice des prix (09)") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP10 - Éducation

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP10",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("10"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP11 - Hôtels, cafés et restaurants

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP11",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("11"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP12 - Biens et services divers

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP12",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("12"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP13 - Dépense de consommation finale individualisable des ISBLSM

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP13",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP14 - Dépense de consommation finale individualisable des APU

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP14",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP15 - Solde territorial

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP15",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

3-digit

CP022 - Tabac

All

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP022",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("022"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 800, 50),
                     labels = dollar_format(accuracy = 1, prefix = ""))

1996-

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP022",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1996-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("022"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1,
                     date >= as.Date("1996-01-01")) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1996-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 800, 50),
                     labels = dollar_format(accuracy = 1, prefix = ""))

02.3 - Bière

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP0213",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("0213"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 800, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP041 - Loyers effectifs

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP041",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("041"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP043 - Entretien et réparation des logements

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP043",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("043"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.9),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP044 - Autres services liés au logement

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP044",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("044"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP051 - Meubles, articles d’ameublement, tapis et autres revêtements de sol

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP051",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("051"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP052 - Articles de ménage en textile

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP052",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("052"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP053 - Appareils ménagers

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP053",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("053"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP054 - Verrerie, vaisselle et ustensiles de ménage

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP054",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("054"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP055 - Outillage et autre matériel pour la maison et le jardin

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP055",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("055"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP056 - Biens et services pour l’entretien courant du foyer

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP056",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("056"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP072 - Dépenses d’utilisation des véhicules

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP072",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("072"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP081 - Services postaux

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP081",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("081"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.9),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP082 - Matériel de téléphonie et de télécopie

1990-

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP082",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("082"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1993-01-01")]) %>%
  ggplot() + ylab("Indice des prix (1993=100)") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.9),
        legend.title = element_blank()) +
  scale_y_log10(breaks = c(1, 2, 3, 5, 8, 10, 20, 30, 50, 100),
                     labels = dollar_format(accuracy = 1, prefix = ""))

1996-

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP082",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1996-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("082"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1,
                     date >= as.Date("1996-01-01")) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1996-01-01")]) %>%
  ggplot() + ylab("Indice des prix (1996=100)") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.9),
        legend.title = element_blank()) +
  scale_y_log10(breaks = c(1, 2, 3, 5, 8, 10, 20, 30, 50, 100),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP083 - Services de télécommunications

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP083",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("083"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP091 - Matériel audiovisuel, photographique et informatique

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP091",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("091"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = c(seq(0, 500, 10), 15),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP092 - Autres biens durables culturels et récréatifs

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP092",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("092"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = c(seq(0, 500, 10), 15),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP093 - Autres articles et matériel de loisirs, de jardinage et animaux de compagnie

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP093",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("093"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = c(seq(0, 500, 10), 15),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP094 - Services récréatifs et culturels

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP094",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("094"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = c(seq(0, 500, 10), 15),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP095 - Journaux, livres et articles de papeterie

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP095",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("095"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.8),
        legend.title = element_blank()) +
  scale_y_log10(breaks = c(seq(0, 500, 10), 15),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP096 - Forfaits touristiques

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP096",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("096"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.8),
        legend.title = element_blank()) +
  scale_y_log10(breaks = c(seq(0, 500, 10), 15),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP126 - Services financiers

All

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP126",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("126"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.7),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

All

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP126",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1996-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("126"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1996-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.7),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP141 - Logement

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP141",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP142 - Santé

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP142",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP143 - Loisirs et culture

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP143",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP144 - Enseignement

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP144",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

4-digit

CP0562 - Services domestiques et services ménagers

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP0562",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("0562"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP0911 -

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP0912",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("0912"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP0914

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP0914",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("0914"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP0913

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP0913",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("0913"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP0915 - Réparation de matériels audiovisuel, photographique et informatique

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP0915",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("0914"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.3),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP0931 - Jeux, jouets et passe-temps

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP0931",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("0931"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP0954 - Papeterie et matériel de dessin

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP0954",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  bind_rows(`IPC-2015` %>%
              filter(INDICATEUR == "IPC",
                     MENAGES_IPC == "ENSEMBLE",
                     COICOP2016 %in% c("0954"),
                     FREQ == "M",
                     REF_AREA == "FE",
                     NATURE == "INDICE") %>%
              month_to_date %>%
              filter(month(date) == 1) %>%
              select(date, value = OBS_VALUE) %>%
              mutate(variable = "Indice des Prix à la Consommation")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

CP1261 - Services financiers indirectement mesurés

Code
T_CONSO_EFF_FONCTION %>%
  filter(fonction =="CP1261",
         variable == "IPRIX2014") %>%
  year_to_date2 %>%
  filter(date >= as.Date("1990-01-01")) %>%
  mutate(variable = "Deflateur de la Consommation") %>%
  select(variable, date, value) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("Indice des prix") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.75, 0.7),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(0, 500, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

Différences

  • Santé est en categorie 13 et 14 dans la COICOP lorsque c’est une dépense de consommation des APU ou des IBSLM, ie dans le déflateur de la consommation finale (pareil dans l’IPCH). Dans l’IPC en revanche, la santé est incluse dans la classification n°6 ce qui apparait contradictoire…