5.201d-203d - Dépense de consommation finale des ménages par produit (88 postes) - T_5201d_5203d

Données - INSEE

Structure

Consommation des ménages par produit (2025)

Code
`T_5201d_5203d` |>
  filter(sheet == sh[1], year == last_y, grepl("^A38_", code)) |>
  mutate(label = reorder(str_trunc(label, 55), value)) |>
  ggplot() + theme_minimal() + xlab("") + ylab("Consommation des ménages (Mds €)") +
  geom_col(aes(x = label, y = value), fill = "#2b6cb0") +
  coord_flip()

Principaux postes (% du total)

Code
`T_5201d_5203d` |>
  filter(sheet == sh[1], code %in% top8) |>
  left_join(filter(`T_5201d_5203d`, sheet == sh[1], code == "_T") |>
              select(year, tot = value), by = "year") |>
  ggplot() + theme_minimal() + xlab("") + ylab("% du total") +
  geom_line(aes(x = year, y = value / tot, color = str_trunc(label, 45))) +
  scale_x_continuous(breaks = seq(2000, 2030, 5)) +
  scale_y_continuous(labels = percent_format(accuracy = 1)) +
  theme(legend.title = element_blank(), legend.position = "bottom") +
  guides(color = guide_legend(nrow = 4))

En volume (base 100 en 1999)

Code
`T_5201d_5203d` |>
  filter(sheet == sh[3], code %in% top8) |>
  group_by(code) |>
  mutate(value = 100 * value / value[year == 1999]) |>
  ungroup() |>
  ggplot() + theme_minimal() + xlab("") + ylab("Volume (1999 = 100)") +
  geom_line(aes(x = year, y = value, color = str_trunc(label, 45))) +
  scale_x_continuous(breaks = seq(2000, 2030, 5)) +
  theme(legend.title = element_blank(), legend.position = "bottom") +
  guides(color = guide_legend(nrow = 4))

Table (2025)

Code
`T_5201d_5203d` |>
  filter(sheet == sh[1], year == last_y, grepl("^A38_", code)) |>
  transmute(Produit = label, Code = code, `Mds €` = round(value, 1)) |>
  arrange(desc(`Mds €`)) |>
  print_table_conditional()