Revenu, pouvoir d’achat et comptes des ménages - Valeurs aux prix courants

Data - Insee

Info

source dataset .html .RData

insee

t_men_val

2024-06-24 2024-07-01

Données sur le pouvoir d’achat

source dataset .html .RData

insee

CNA-2014-RDB

2024-07-02 2024-07-01

insee

CNT-2014-CSI

2024-07-02 2024-07-01

insee

conso-eff-fonction

2024-07-02 2022-06-14

insee

reve-niv-vie-individu-activite

2024-07-02 NA

insee

t_7401

2024-07-02 2023-12-23

insee

t_men_val

2024-06-24 2024-07-01

insee

t_pouvachat_val

2024-07-02 2024-07-01

insee

t_recapAgent_val

2024-06-24 2024-07-01

insee

t_salaire_val

2024-06-20 2024-07-01

oecd

HH_DASH

2024-07-01 2023-09-09

Données sur l’épargne

source dataset .html .RData

bdf

CFT

2024-07-01 2024-07-01

insee

bdf2017

2024-07-02 2023-11-21

insee

ip1815

2024-07-02 2023-10-05

insee

t_men_val

2024-06-24 2024-07-01

insee

t_pouvachat_val

2024-07-02 2024-07-01

insee

t_recapAgent_val

2024-06-24 2024-07-01

LAST_COMPILE

LAST_COMPILE
2024-07-02

Example

  • 2023T2: consommation Totale = 356,6 Mds€; revenu disponible brut = 439,2 Mds€:
Code
scales::percent(1-356.6/439.2, acc = 0.01)
# [1] "18.81%"

Données

  • Comptes nationaux trimestriels au 3ème trimestre 2023. html / xls

  • Comptes nationaux trimestriels au 2ème trimestre 2023. html / xls

  • Comptes nationaux trimestriels au 4ème trimestre 2022. html / xls

  • Comptes nationaux trimestriels au 4ème trimestre 2021. html

Info

Revenu disponible brut. Il s’agit de la part du revenu qui reste à la disposition du ménage pour consommer et épargner, une fois déduits les prélèvements sociaux et les impôts.

Les ressources comprennent : - les revenus d’activité (salaires, revenus des entrepreneurs individuels…), - les revenus du patrimoine (dividendes, intérêts, loyers), - les prestations sociales (y compris les pensions de retraite et les indemnités de chômage), - les transferts courants (notamment les indemnités d’assurance nette des primes). Les charges comprennent notamment les impôts directs (impôt sur le revenu, taxe d’habitation, CSG…).

Revenu disponible brut ajusté. Il s’agit du RDB augmenté des transferts sociaux en nature, contrepartie des consommations individualisables incluses dans les dépenses des APU et des ISBLSM.

Excédent brut d’exploitation des ménages purs. L’EBE des ménages purs correspond aux revenus fonciers, issus des loyers réels ou des loyers imputés (au titre des services de logement que les ménages propriétaires se rendent à eux mêmes).

variable

Code
t_men_val %>%
  left_join(variable, by = "variable") %>%
  group_by(variable, Variable) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional
variable Variable Nobs
B2 + D11 + D4 + D62 + D7 Total des ressources 301
B2_S14 Excédent brut d'exploitation (y compris revenu mixte) 301
B2_S14A Revenu mixte 301
B2_S14B Excédent brut d'exploitation des ménages purs 301
B6 Revenu disponible brut 301
B7 Revenu disponible brut ajusté 301
D11 Salaires et traitements bruts 301
D4 Intérêts et dividendes nets reçus 301
D5 Impôts sur le revenu et le patrimoine 301
D5 + D613 + D614 + D61SC NA 301
D613 + D614 + D61SC NA 301
D62 Prestations sociales en espèces 301
D63 Transferts sociaux en nature 301
D7 Autres ressources nettes 301

date

Code
t_men_val %>%
  group_by(date) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(date)) %>%
  print_table_conditional

Evolution

2017T2-

% change

Code
t_men_val %>%
  filter(date %in% c(max(date), as.Date("2017-04-01"))) %>%
  left_join(variable, by = "variable") %>%
  spread(date, value) %>%
  mutate(`% change` = round(100*(.[[4]]/.[[3]]-1), 2),
         `change (Mds€)` = round(.[[4]]-.[[3]], 2)) %>%
  arrange(-`% change`) %>%
  print_table_conditional(.)
variable Variable 2017-04-01 2024-01-01 % change change (Mds€)
D4 Intérêts et dividendes nets reçus 20.696 36.276 75.28 15.58
D7 Autres ressources nettes -2.857 -4.147 45.15 -1.29
B2_S14B Excédent brut d'exploitation des ménages purs 50.848 69.928 37.52 19.08
B6 Revenu disponible brut 345.900 457.901 32.38 112.00
B2_S14 Excédent brut d'exploitation (y compris revenu mixte) 77.727 102.735 32.17 25.01
B7 Revenu disponible brut ajusté 447.680 586.420 30.99 138.74
B2 + D11 + D4 + D62 + D7 Total des ressources 438.978 569.396 29.71 130.42
D11 Salaires et traitements bruts 219.544 279.715 27.41 60.17
D63 Transferts sociaux en nature 101.781 128.519 26.27 26.74
D62 Prestations sociales en espèces 123.867 154.816 24.99 30.95
D5 Impôts sur le revenu et le patrimoine 56.511 69.237 22.52 12.73
B2_S14A Revenu mixte 26.879 32.808 22.06 5.93
D5 + D613 + D614 + D61SC NA 93.078 111.495 19.79 18.42
D613 + D614 + D61SC NA 36.567 42.258 15.56 5.69

€ change

Code
t_men_val %>%
  filter(date %in% c(max(date), as.Date("2017-04-01"))) %>%
  left_join(variable, by = "variable") %>%
  spread(date, value) %>%
  mutate(`% change` = round(100*(.[[4]]/.[[3]]-1), 2),
         `change (Mds€)` = round(.[[4]]-.[[3]], 2)) %>%
  arrange(-`change (Mds€)`) %>%
  print_table_conditional(.)
variable Variable 2017-04-01 2024-01-01 % change change (Mds€)
B7 Revenu disponible brut ajusté 447.680 586.420 30.99 138.74
B2 + D11 + D4 + D62 + D7 Total des ressources 438.978 569.396 29.71 130.42
B6 Revenu disponible brut 345.900 457.901 32.38 112.00
D11 Salaires et traitements bruts 219.544 279.715 27.41 60.17
D62 Prestations sociales en espèces 123.867 154.816 24.99 30.95
D63 Transferts sociaux en nature 101.781 128.519 26.27 26.74
B2_S14 Excédent brut d'exploitation (y compris revenu mixte) 77.727 102.735 32.17 25.01
B2_S14B Excédent brut d'exploitation des ménages purs 50.848 69.928 37.52 19.08
D5 + D613 + D614 + D61SC NA 93.078 111.495 19.79 18.42
D4 Intérêts et dividendes nets reçus 20.696 36.276 75.28 15.58
D5 Impôts sur le revenu et le patrimoine 56.511 69.237 22.52 12.73
B2_S14A Revenu mixte 26.879 32.808 22.06 5.93
D613 + D614 + D61SC NA 36.567 42.258 15.56 5.69
D7 Autres ressources nettes -2.857 -4.147 45.15 -1.29

2017T2-

Code
t_men_val %>%
  filter(variable %in% c("D11", "B6", "D4")) %>%
  left_join(variable, by = "variable") %>%
  filter(date >= as.Date("2017-04-01")) %>%
  group_by(variable) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
  theme_minimal() + xlab("") + ylab("Index 100 = 2017T2") +
  scale_x_date(breaks = as.Date(paste0(seq(2008, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 1500, 5)) +
  theme(legend.position = c(0.3, 0.8),
        legend.title = element_blank())

2019T4-

Code
t_men_val %>%
  filter(variable %in% c("D11", "B6", "D4")) %>%
  left_join(variable, by = "variable") %>%
  filter(date >= as.Date("2019-10-01")) %>%
  group_by(variable) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  mutate(date = zoo::as.yearqtr(paste(year(date), quarter(date), sep = "-"))) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
  theme_minimal() + xlab("") + ylab("Index 100 = 2019T4") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 24) +
  scale_y_log10(breaks = seq(0, 1500, 5)) +
  theme(legend.position = c(0.3, 0.8),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(data = . %>% 
              filter(date == max(date)),
            aes(x = date, y = value, color = Variable, label = round(value, 1)))

2021T4-

Code
t_men_val %>%
  filter(variable %in% c("B6", "D4")) %>%
  left_join(variable, by = "variable") %>%
  filter(date >= as.Date("2021-10-01")) %>%
  group_by(variable) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  mutate(date = zoo::as.yearqtr(paste(year(date), quarter(date), sep = "-"))) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
  theme_minimal() + xlab("") + ylab("Indice 100 = 2021T4") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 24) +
  scale_y_log10(breaks = seq(0, 1500, 5)) +
  theme(legend.position = c(0.3, 0.8),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(data = . %>% 
              filter(date == max(date)),
            aes(x = date, y = value,  color = Variable, label = round(value, 1)))

2 years

% change

Code
t_men_val %>%
  filter(date %in% c(max(date), max(date)-years(2))) %>%
  left_join(variable, by = "variable") %>%
  spread(date, value) %>%
  mutate(`% change` = round(100*(.[[4]]/.[[3]]-1), 2),
         `change (Mds€)` = round(.[[4]]-.[[3]], 2)) %>%
  arrange(-`% change`) %>%
  print_table_conditional(.)
variable Variable 2022-01-01 2024-01-01 % change change (Mds€)
D4 Intérêts et dividendes nets reçus 27.602 36.276 31.43 8.67
B2_S14B Excédent brut d'exploitation des ménages purs 55.292 69.928 26.47 14.64
B2_S14 Excédent brut d'exploitation (y compris revenu mixte) 85.888 102.735 19.62 16.85
B6 Revenu disponible brut 397.293 457.901 15.26 60.61
B2 + D11 + D4 + D62 + D7 Total des ressources 501.637 569.396 13.51 67.76
B7 Revenu disponible brut ajusté 516.831 586.420 13.46 69.59
D613 + D614 + D61SC NA 37.446 42.258 12.85 4.81
D62 Prestations sociales en espèces 138.391 154.816 11.87 16.43
D11 Salaires et traitements bruts 253.888 279.715 10.17 25.83
D63 Transferts sociaux en nature 119.538 128.519 7.51 8.98
B2_S14A Revenu mixte 30.596 32.808 7.23 2.21
D5 + D613 + D614 + D61SC NA 104.344 111.495 6.85 7.15
D5 Impôts sur le revenu et le patrimoine 66.898 69.237 3.50 2.34
D7 Autres ressources nettes -4.132 -4.147 0.36 -0.02

€ change

Code
t_men_val %>%
  filter(date %in% c(max(date), max(date)-years(2))) %>%
  left_join(variable, by = "variable") %>%
  spread(date, value) %>%
  mutate(`% change` = round(100*(.[[4]]/.[[3]]-1), 2),
         `change (Mds€)` = round(.[[4]]-.[[3]], 2)) %>%
  arrange(-`change (Mds€)`) %>%
  print_table_conditional(.)
variable Variable 2022-01-01 2024-01-01 % change change (Mds€)
B7 Revenu disponible brut ajusté 516.831 586.420 13.46 69.59
B2 + D11 + D4 + D62 + D7 Total des ressources 501.637 569.396 13.51 67.76
B6 Revenu disponible brut 397.293 457.901 15.26 60.61
D11 Salaires et traitements bruts 253.888 279.715 10.17 25.83
B2_S14 Excédent brut d'exploitation (y compris revenu mixte) 85.888 102.735 19.62 16.85
D62 Prestations sociales en espèces 138.391 154.816 11.87 16.43
B2_S14B Excédent brut d'exploitation des ménages purs 55.292 69.928 26.47 14.64
D63 Transferts sociaux en nature 119.538 128.519 7.51 8.98
D4 Intérêts et dividendes nets reçus 27.602 36.276 31.43 8.67
D5 + D613 + D614 + D61SC NA 104.344 111.495 6.85 7.15
D613 + D614 + D61SC NA 37.446 42.258 12.85 4.81
D5 Impôts sur le revenu et le patrimoine 66.898 69.237 3.50 2.34
B2_S14A Revenu mixte 30.596 32.808 7.23 2.21
D7 Autres ressources nettes -4.132 -4.147 0.36 -0.02

Last year

% change

Code
t_men_val %>%
  filter(date %in% c(max(date), max(date)-years(1))) %>%
  left_join(variable, by = "variable") %>%
  spread(date, value) %>%
  mutate(`% change` = round(100*(.[[4]]/.[[3]]-1), 2),
         `change (Mds€)` = round(.[[4]]-.[[3]], 2)) %>%
  arrange(-`% change`) %>%
  print_table_conditional(.)
variable Variable 2023-01-01 2024-01-01 % change change (Mds€)
D4 Intérêts et dividendes nets reçus 32.289 36.276 12.35 3.99
B2_S14B Excédent brut d'exploitation des ménages purs 65.080 69.928 7.45 4.85
B2_S14 Excédent brut d'exploitation (y compris revenu mixte) 97.184 102.735 5.71 5.55
D7 Autres ressources nettes -3.925 -4.147 5.66 -0.22
B6 Revenu disponible brut 434.007 457.901 5.51 23.89
D62 Prestations sociales en espèces 146.858 154.816 5.42 7.96
D613 + D614 + D61SC NA 40.215 42.258 5.08 2.04
B7 Revenu disponible brut ajusté 558.113 586.420 5.07 28.31
B2 + D11 + D4 + D62 + D7 Total des ressources 542.996 569.396 4.86 26.40
D63 Transferts sociaux en nature 124.106 128.519 3.56 4.41
D11 Salaires et traitements bruts 270.590 279.715 3.37 9.12
D5 + D613 + D614 + D61SC NA 108.989 111.495 2.30 2.51
B2_S14A Revenu mixte 32.104 32.808 2.19 0.70
D5 Impôts sur le revenu et le patrimoine 68.773 69.237 0.67 0.46

€ change

Code
t_men_val %>%
  filter(date %in% c(max(date), max(date)-years(1))) %>%
  left_join(variable, by = "variable") %>%
  spread(date, value) %>%
  mutate(`% change` = round(100*(.[[4]]/.[[3]]-1), 2),
         `change (Mds€)` = round(.[[4]]-.[[3]], 2)) %>%
  arrange(-`change (Mds€)`) %>%
  print_table_conditional(.)
variable Variable 2023-01-01 2024-01-01 % change change (Mds€)
B7 Revenu disponible brut ajusté 558.113 586.420 5.07 28.31
B2 + D11 + D4 + D62 + D7 Total des ressources 542.996 569.396 4.86 26.40
B6 Revenu disponible brut 434.007 457.901 5.51 23.89
D11 Salaires et traitements bruts 270.590 279.715 3.37 9.12
D62 Prestations sociales en espèces 146.858 154.816 5.42 7.96
B2_S14 Excédent brut d'exploitation (y compris revenu mixte) 97.184 102.735 5.71 5.55
B2_S14B Excédent brut d'exploitation des ménages purs 65.080 69.928 7.45 4.85
D63 Transferts sociaux en nature 124.106 128.519 3.56 4.41
D4 Intérêts et dividendes nets reçus 32.289 36.276 12.35 3.99
D5 + D613 + D614 + D61SC NA 108.989 111.495 2.30 2.51
D613 + D614 + D61SC NA 40.215 42.258 5.08 2.04
B2_S14A Revenu mixte 32.104 32.808 2.19 0.70
D5 Impôts sur le revenu et le patrimoine 68.773 69.237 0.67 0.46
D7 Autres ressources nettes -3.925 -4.147 5.66 -0.22

Evolution RDB, RDB sans capital

1990-

Code
t_men_val %>%
  filter(variable %in% c("B6", "B2_S14B", "D4")) %>%
  spread(variable, value) %>%
  transmute(date, RDB = B6, `RDB - intérêts et dividendes` = B6-D4, `RDB - intérêts et dividendes - EBE` = B6-D4-B2_S14B) %>%
  gather(Variable, value, -date) %>%
  group_by(Variable) %>%
  arrange(date) %>%
  mutate(ga = value/lag(value, 4) - 1) %>%
  filter(date >= as.Date("1990-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = ga, color = Variable)) + 
  xlab("") + ylab("") + theme_minimal() +
  scale_x_date(breaks = seq.Date(from = as.Date("1900-01-01"), to = as.Date("2100-10-01"), by = "5 years"),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
                labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.4, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical")

D11, B6

Montant

All

Linear

Code
t_men_val %>%
  filter(variable %in% c("D11", "B6")) %>%
  left_join(variable, by = "variable") %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
  theme_minimal() + xlab("") + ylab("Milliards d'€") +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 5), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 10000, 10),
                     labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank())

Log

Code
t_men_val %>%
  filter(variable %in% c("D11", "B6")) %>%
  left_join(variable, by = "variable") %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
  theme_minimal() + xlab("") + ylab("Milliards d'€") +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 5), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = c(1,2,5,8,10,20, 50, 80, 100, 200, 500, 1000, 1200, 2000, 3000, 5000, 10000),
                     labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank())

1995-

Linear

Code
t_men_val %>%
  filter(variable %in% c("D11", "B6")) %>%
  left_join(variable, by = "variable") %>%
  filter(date >= as.Date("1995-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
  theme_minimal() + xlab("") + ylab("Milliards d'€") +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 10000, 10),
                     labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank())

Log

Code
t_men_val %>%
  filter(variable %in% c("D11", "B6")) %>%
  left_join(variable, by = "variable") %>%
  filter(date >= as.Date("1995-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
  theme_minimal() + xlab("") + ylab("Milliards d'€") +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 1500, 10),
                     labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank())

1999-

Linear

Code
t_men_val %>%
  filter(variable %in% c("D11", "B6")) %>%
  left_join(variable, by = "variable") %>%
  filter(date >= as.Date("1999-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
  theme_minimal() + xlab("") + ylab("Milliards d'€") +
  scale_x_date(breaks = as.Date(paste0(seq(1999, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 10000, 10),
                     labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank())

Log

Values
Code
t_men_val %>%
  filter(variable %in% c("D11", "B6")) %>%
  left_join(variable, by = "variable") %>%
  filter(date >= as.Date("1999-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
  theme_minimal() + xlab("") + ylab("Milliards d'€") +
  scale_x_date(breaks = as.Date(paste0(seq(1999, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 1500, 10),
                     labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank())

Base 100
Code
t_men_val %>%
  filter(variable %in% c("D11", "B6")) %>%
  left_join(variable, by = "variable") %>%
  filter(date >= as.Date("1999-01-01")) %>%
  group_by(variable) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
  theme_minimal() + xlab("") + ylab("Base 100 = 1999") +
  scale_x_date(breaks = as.Date(paste0(seq(1999, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 1500, 10)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank())

2008-

Linear

Code
t_men_val %>%
  filter(variable %in% c("D11", "B6")) %>%
  left_join(variable, by = "variable") %>%
  filter(date >= as.Date("2008-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
  theme_minimal() + xlab("") + ylab("Milliards d'€") +
  scale_x_date(breaks = as.Date(paste0(seq(2008, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 10000, 10),
                     labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank())

Log

Code
t_men_val %>%
  filter(variable %in% c("D11", "B6")) %>%
  left_join(variable, by = "variable") %>%
  filter(date >= as.Date("2008-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
  theme_minimal() + xlab("") + ylab("Milliards d'€") +
  scale_x_date(breaks = as.Date(paste0(seq(2008, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 1500, 10),
                     labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank())

2017-

Linear

Code
t_men_val %>%
  filter(variable %in% c("D11", "B6")) %>%
  left_join(variable, by = "variable") %>%
  filter(date >= as.Date("2017-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
  theme_minimal() + xlab("") + ylab("Milliards d'€") +
  scale_x_date(breaks = as.Date(paste0(seq(2008, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 10000, 10),
                     labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank())

Log

Code
t_men_val %>%
  filter(variable %in% c("D11", "B6")) %>%
  left_join(variable, by = "variable") %>%
  filter(date >= as.Date("2017-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
  theme_minimal() + xlab("") + ylab("Milliards d'€") +
  scale_x_date(breaks = as.Date(paste0(seq(2008, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 1500, 10),
                     labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank())

Revenus du capital

Montant

All

Linear

Code
t_men_val %>%
  filter(variable %in% c("B2_S14", "B2_S14B", "D4")) %>%
  left_join(variable, by = "variable") %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
  theme_minimal() + xlab("") + ylab("Milliards d'€") +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 5), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 10000, 10),
                     labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank())

Log

Code
t_men_val %>%
  filter(variable %in% c("B2_S14", "B2_S14B", "D4")) %>%
  left_join(variable, by = "variable") %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
  theme_minimal() + xlab("") + ylab("Milliards d'€") +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 5), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = c(1,2,5,8,10,20, 50, 80, 100, 200, 500, 1000, 1200, 2000, 3000, 5000, 10000),
                     labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank())

1995-

Linear

Code
t_men_val %>%
  filter(variable %in% c("B2_S14", "B2_S14B", "D4")) %>%
  left_join(variable, by = "variable") %>%
  filter(date >= as.Date("1995-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
  theme_minimal() + xlab("") + ylab("Milliards d'€") +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 10000, 10),
                     labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank())

Log

Code
t_men_val %>%
  filter(variable %in% c("B2_S14", "B2_S14B", "D4")) %>%
  left_join(variable, by = "variable") %>%
  filter(date >= as.Date("1995-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
  theme_minimal() + xlab("") + ylab("Milliards d'€") +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 1500, 10),
                     labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank())

2008-

Linear

Code
t_men_val %>%
  filter(variable %in% c("B2_S14", "B2_S14B", "D4")) %>%
  left_join(variable, by = "variable") %>%
  filter(date >= as.Date("2008-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
  theme_minimal() + xlab("") + ylab("Milliards d'€") +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 10000, 10),
                     labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank())

Log

Code
t_men_val %>%
  filter(variable %in% c("B2_S14", "B2_S14B", "D4")) %>%
  left_join(variable, by = "variable") %>%
  filter(date >= as.Date("2008-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
  theme_minimal() + xlab("") + ylab("Milliards d'€") +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 1500, 10),
                     labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank())

2017-

Linear

Code
t_men_val %>%
  filter(variable %in% c("B2_S14", "B2_S14B", "D4")) %>%
  left_join(variable, by = "variable") %>%
  filter(date >= as.Date("2017-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
  theme_minimal() + xlab("") + ylab("Milliards d'€") +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 10000, 10),
                     labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank())

Log

Code
t_men_val %>%
  filter(variable %in% c("B2_S14", "B2_S14B", "D4")) %>%
  left_join(variable, by = "variable") %>%
  filter(date >= as.Date("2017-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) +
  theme_minimal() + xlab("") + ylab("Milliards d'€") +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 1500, 10),
                     labels = dollar_format(accuracy = 1, pre = "", su ="Mds€")) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank())