Table 6.16. Corporate Profits by Industry - T61600

Data - BEA

Last observation: 2019 (N = 33)

First observation: 1929 (N = 18)

Last data update: 25 juil. 2026, 12:36

Last compile: 05 sept. 2026, 22:43

Layout

  • NIPA Website. html

Ex 1: Private fixed assets

By sector

Code
T61600_A |>
  filter(LineNumber %in% c(1, 55, 11)) |>
  rename(variable = LineDescription) |>
  left_join(gdp_adjustment, by = "date") |>
  mutate(value = 1000*DataValue/ GDP) |>
  ggplot() + geom_line(aes(x = date, y = value, color = variable, linetype = variable)) + 
  ylab("% of GDP") + xlab("") + theme_minimal()+
  geom_rect(data = nber_recessions |>
              filter(Peak > as.Date("1948-01-01")),
            aes(xmin = Peak, xmax = Trough, ymin = -Inf, ymax = +Inf), 
            fill = 'grey', alpha = 0.5) +
  scale_x_date(breaks = nber_recessions$Peak,
               minor_breaks = "5 years",
               labels = date_format("%Y")) + 
  scale_y_continuous(breaks = 0.01*seq(0, 500, 20),
                     labels = scales::percent_format(accuracy = 1)) +
  scale_color_manual(values = viridis(5)[1:4]) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank(),
        legend.text = element_text(size = 8),
        legend.key.size = unit(0.9, 'lines'))

Agriculture, Mining, Utilities

Code
T61600_A |>
  filter(LineNumber %in% c(2, 5, 9)) |>
  rename(variable = LineDescription) |>
  left_join(gdp_adjustment, by = "date") |>
  mutate(value = 1000*DataValue/ GDP) |>
  ggplot() + geom_line(aes(x = date, y = value, color = variable, linetype = variable)) + 
  ylab("% of GDP") + xlab("") + 
  theme_minimal()+
  geom_rect(data = nber_recessions |>
              filter(Peak > as.Date("1948-01-01")),
            aes(xmin = Peak, xmax = Trough, ymin = -Inf, ymax = +Inf), 
            fill = 'grey', alpha = 0.5) +
  scale_x_date(breaks = nber_recessions$Peak,
               minor_breaks = "5 years",
               labels = date_format("%Y")) + 
  scale_y_continuous(breaks = 0.01*seq(0, 500, 2),
                     labels = scales::percent_format(accuracy = 1)) +
  scale_color_manual(values = viridis(5)[1:4]) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank(),
        legend.text = element_text(size = 8),
        legend.key.size = unit(0.9, 'lines'))