Table 3.1E. Current-Cost Net Stock of Private Equipment by Industry - FAAt301E

Data - BEA

Info

Last observation: 2024 (N = 96)

First observation: 1947 (N = 96)

Last data update: 25 jul 2026, 12:36. Last compile: 17 aoû 2026, 22:08

Layout

  • Fixed Assets Website. html

Ex 1: Capital

What is capital?

Code
FAAt301E |>
  year_to_date() |>
  filter(LineNumber %in% c(1, 3)) |>
  rename(variable = LineDescription) |>
  left_join(gdp_adjustment, by = "date") |>
  mutate(DataValue = 1000 * `Real GDP / Real GDP Trend (Log Linear)` * DataValue / GDP,
         variable = case_when(variable == "Fixed assets" ~ "Fixed assets (Private + Government)",
                              variable == "Private" ~ "Fixed assets (Private)")) |>
  ggplot() + geom_line(aes(x = date, y = DataValue, color = variable, linetype = variable)) + 
  ylab("% of GDP") + xlab("") + 
  theme_minimal()+
  geom_rect(data = nber_recessions |>
              filter(Peak > as.Date("1927-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'))

U.S. Main Fixed Asset Components (1929-2017)

Code
FAAt301E |>
  year_to_date() |>
  filter(LineNumber %in% c(5, 6, 8, 15)) |>
  rename(variable = LineDescription) |>
  left_join(gdp_adjustment, by = "date") |>
  mutate(DataValue = 1000 * `Real GDP / Real GDP Trend (Log Linear)` * DataValue / GDP) |>
  ggplot() + geom_line(aes(x = date, y = DataValue, color = variable, linetype = variable)) + 
  ylab("% of GDP") + xlab("") + 
  theme_minimal()+
  geom_rect(data = nber_recessions |>
              filter(Peak > as.Date("1927-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, 160, 10),
                     labels = scales::percent_format(accuracy = 1)) +
  scale_color_manual(values = viridis(5)[1:4]) +
  theme(legend.position = c(0.2, 0.3),
        legend.title = element_blank(),
        legend.text = element_text(size = 8),
        legend.key.size = unit(0.9, 'lines'))

Ex 2: 1938, 1958, 1978, 1998, 2018 Table

Percent

Code
FAAt301E |>
  year_to_date() |>
  mutate(year = year(date)) |>
  filter(year %in% c(1938, 1958, 1978, 1998, 2018)) |>
  group_by(year) |>
  mutate(DataValue = round(100*DataValue/DataValue[1], 1)) |>
  ungroup() |>
  select(LineNumber, LineDescription, year, DataValue) |>
  spread(year, DataValue) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

Billions

Code
FAAt301E |>
  year_to_date() |>
  mutate(year = year(date)) |>
  filter(year %in% c(1938, 1958, 1978, 1998, 2018)) |>
  group_by(year) |>
  mutate(DataValue = round(DataValue)) |>
  ungroup() |>
  select(LineNumber, LineDescription, year, DataValue) |>
  spread(year, DataValue) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}