Balance sheets for non-financial assets
Data - OECD
Layout
- OECD Website. html
SS1 - All sectors
SS11 - Non-financial corporations
SS12 - Financial corporations
SS13 - General government
SS14_S15 - Households and Non-profits
Nobs - Javascript
Code
%>%
SNA_TABLE9B left_join(SNA_TABLE9B_var$TRANSACT, by = "TRANSACT") %>%
group_by(TRANSACT, Transact, SECTOR) %>%
summarise(nobs = n()) %>%
arrange(-nobs) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F) else .} {
Data Structure
Code
%>%
SNA_TABLE9B_var pluck("VAR_DESC") %>%
if (is_html_output()) print_table(.) else .} {
id | description |
---|---|
LOCATION | Country |
TRANSACT | Transaction |
SECTOR | Sector |
MEASURE | Measure |
TIME | Year |
OBS_VALUE | Observation Value |
TIME_FORMAT | Time Format |
OBS_STATUS | Observation Status |
UNIT | Unit |
POWERCODE | Unit multiplier |
REFERENCEPERIOD | Reference period |
TRANSACT
Code
%>%
SNA_TABLE9B left_join(SNA_TABLE9B_var$TRANSACT, by = "TRANSACT") %>%
group_by(TRANSACT, Transact) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F) else .} {
SECTOR
Code
%>%
SNA_TABLE9B left_join(SNA_TABLE9B_var$SECTOR, by = "SECTOR") %>%
group_by(SECTOR, Sector) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) print_table(.) else .} {
SECTOR | Sector | Nobs |
---|---|---|
NS1 | Total economy | 19583 |
NS14_S15 | Households and non-profit institutions serving households | 14769 |
NS11 | Non-financial corporations | 14483 |
NS13 | General government | 14321 |
NS12 | Financial corporations | 14006 |
NS15 | Non-profit institutions serving households | 3073 |
NS14 | Households | 3072 |
LOCATION
Code
%>%
SNA_TABLE9B left_join(SNA_TABLE9B_var$LOCATION, by = "LOCATION") %>%
group_by(LOCATION, Location) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
mutate(Flag = gsub(" ", "-", str_to_lower(Location)),
Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) %>%
select(Flag, everything()) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .} {
Tables
N - Non-financial assets / Actifs non financiers
Code
%>%
SNA_TABLE9B filter(TRANSACT == "N",
%in% c("NS1", "NS11", "NS12", "NS13", "NS14_S15")) %>%
SECTOR group_by(LOCATION, SECTOR) %>%
summarise(obsValue = last(obsValue),
obsTime = last(obsTime)) %>%
left_join(SNA_TABLE1 %>%
filter(TRANSACT == "B1_GE",
== "C") %>%
MEASURE select(obsTime, LOCATION, B1_GE = obsValue),
by = c("LOCATION", "obsTime")) %>%
select(-obsTime) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) %>% paste0(., "%"),
SECTOR = gsub("N", "", SECTOR)) %>%
%>%
ungroup left_join(SNA_TABLE9B_var$LOCATION, by = "LOCATION") %>%
select(Location, SECTOR, obsValue) %>%
mutate(Flag = gsub(" ", "-", str_to_lower(Location)),
Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) %>%
select(Flag, everything()) %>%
mutate(SECTOR = paste0('<img src="../../icon/sector/vsmall/', SECTOR, '.png" alt="All">')) %>%
spread(SECTOR, obsValue) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .} {
N1 - Produced Assets
Code
%>%
SNA_TABLE9B filter(TRANSACT == "N1",
%in% c("NS1", "NS11", "NS12", "NS13", "NS14_S15")) %>%
SECTOR group_by(LOCATION, SECTOR) %>%
summarise(obsValue = last(obsValue),
obsTime = last(obsTime)) %>%
left_join(SNA_TABLE1 %>%
filter(TRANSACT == "B1_GE",
== "C") %>%
MEASURE select(obsTime, LOCATION, B1_GE = obsValue),
by = c("LOCATION", "obsTime")) %>%
select(-obsTime) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) %>% paste0(., "%"),
SECTOR = gsub("N", "", SECTOR)) %>%
%>%
ungroup left_join(SNA_TABLE9B_var$LOCATION, by = "LOCATION") %>%
select(Location, SECTOR, obsValue) %>%
mutate(Flag = gsub(" ", "-", str_to_lower(Location)),
Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) %>%
select(Flag, everything()) %>%
mutate(SECTOR = paste0('<img src="../../icon/sector/vsmall/', SECTOR, '.png" alt="All">')) %>%
spread(SECTOR, obsValue) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .} {
N11 - Fixed Assets
Code
%>%
SNA_TABLE9B filter(TRANSACT == "N11",
%in% c("NS1", "NS11", "NS12", "NS13", "NS14_S15")) %>%
SECTOR group_by(LOCATION, SECTOR) %>%
summarise(obsValue = last(obsValue),
obsTime = last(obsTime)) %>%
left_join(SNA_TABLE1 %>%
filter(TRANSACT == "B1_GE",
== "C") %>%
MEASURE select(obsTime, LOCATION, B1_GE = obsValue),
by = c("LOCATION", "obsTime")) %>%
select(-obsTime) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) %>% paste0(., "%"),
SECTOR = gsub("N", "", SECTOR)) %>%
%>%
ungroup left_join(SNA_TABLE9B_var$LOCATION, by = "LOCATION") %>%
select(Location, SECTOR, obsValue) %>%
mutate(Flag = gsub(" ", "-", str_to_lower(Location)),
Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) %>%
select(Flag, everything()) %>%
mutate(SECTOR = paste0('<img src="../../icon/sector/vsmall/', SECTOR, '.png" alt="All">')) %>%
spread(SECTOR, obsValue) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .} {
N1111 - Dwellings
Code
%>%
SNA_TABLE9B filter(TRANSACT == "N1111",
%in% c("NS1", "NS11", "NS12", "NS13", "NS14_S15")) %>%
SECTOR group_by(LOCATION, SECTOR) %>%
summarise(obsValue = last(obsValue),
obsTime = last(obsTime)) %>%
left_join(SNA_TABLE1 %>%
filter(TRANSACT == "B1_GE",
== "C") %>%
MEASURE select(obsTime, LOCATION, B1_GE = obsValue),
by = c("LOCATION", "obsTime")) %>%
select(-obsTime) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) %>% paste0(., "%")) %>%
%>%
ungroup left_join(SNA_TABLE9B_var$LOCATION, by = "LOCATION") %>%
select(Location, SECTOR, obsValue) %>%
mutate(Flag = gsub(" ", "-", str_to_lower(Location)),
Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) %>%
select(Flag, everything()) %>%
mutate(SECTOR = gsub("N", "", SECTOR),
SECTOR = paste0('<img src="../../icon/sector/vsmall/', SECTOR, '.png" alt="All">')) %>%
spread(SECTOR, obsValue) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .} {
N211 - Land
Code
%>%
SNA_TABLE9B filter(TRANSACT == "N211",
%in% c("NS1", "NS11", "NS12", "NS13", "NS14_S15")) %>%
SECTOR group_by(LOCATION, SECTOR) %>%
summarise(obsValue = last(obsValue),
obsTime = last(obsTime)) %>%
left_join(SNA_TABLE1 %>%
filter(TRANSACT == "B1_GE",
== "C") %>%
MEASURE select(obsTime, LOCATION, B1_GE = obsValue),
by = c("LOCATION", "obsTime")) %>%
select(-obsTime) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) %>% paste0(., "%"),
SECTOR = gsub("N", "", SECTOR)) %>%
%>%
ungroup left_join(SNA_TABLE9B_var$LOCATION, by = "LOCATION") %>%
select(Location, SECTOR, obsValue) %>%
mutate(Flag = gsub(" ", "-", str_to_lower(Location)),
Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) %>%
select(Flag, everything()) %>%
mutate(SECTOR = paste0('<img src="../../icon/sector/vsmall/', SECTOR, '.png" alt="All">')) %>%
spread(SECTOR, obsValue) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .} {
List
Code
%>%
SNA_TABLE9B filter(grepl("N2", TRANSACT)) %>%
left_join(SNA_TABLE9B_var$TRANSACT, by = "TRANSACT") %>%
group_by(LOCATION, TRANSACT, Transact, SECTOR) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F) else .} {
2018
France
Code
%>%
SNA_TABLE9B filter(LOCATION == "FRA",
== "2018",
obsTime %in% c("NS1", "NS11", "NS12", "NS13", "NS14_S15")) %>%
SECTOR left_join(SNA_TABLE9B_var$TRANSACT, by = "TRANSACT") %>%
left_join(SNA_TABLE1 %>%
filter(TRANSACT == "B1_GE",
== "C") %>%
MEASURE select(obsTime, LOCATION, B1_GE = obsValue),
by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) %>% paste0(., "%")) %>%
select(SECTOR, TRANSACT, Transact, obsValue) %>%
mutate(SECTOR = gsub("N", "", SECTOR),
SECTOR = paste0('<img src="../../icon/sector/vsmall/', SECTOR, '.png" alt="All">')) %>%
spread(SECTOR, obsValue) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .} {
United States
Code
%>%
SNA_TABLE9B filter(LOCATION == "USA",
== "2018",
obsTime %in% c("NS1", "NS11", "NS12", "NS13", "NS14_S15")) %>%
SECTOR left_join(SNA_TABLE9B_var$TRANSACT, by = "TRANSACT") %>%
left_join(SNA_TABLE1 %>%
filter(TRANSACT == "B1_GE",
== "C") %>%
MEASURE select(obsTime, LOCATION, B1_GE = obsValue),
by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) %>% paste0(., "%")) %>%
select(SECTOR, TRANSACT, Transact, obsValue) %>%
mutate(SECTOR = gsub("N", "", SECTOR),
SECTOR = paste0('<img src="../../icon/sector/vsmall/', SECTOR, '.png" alt="All">')) %>%
spread(SECTOR, obsValue) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .} {
New Zealand
Code
%>%
SNA_TABLE9B filter(LOCATION == "NZL",
== "2017",
obsTime %in% c("NS1", "NS11", "NS12", "NS13", "NS14_S15")) %>%
SECTOR left_join(SNA_TABLE9B_var$TRANSACT, by = "TRANSACT") %>%
left_join(SNA_TABLE1 %>%
filter(TRANSACT == "B1_GE",
== "C") %>%
MEASURE select(obsTime, LOCATION, B1_GE = obsValue),
by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) %>% paste0(., "%")) %>%
select(SECTOR, TRANSACT, Transact, obsValue) %>%
mutate(SECTOR = gsub("N", "", SECTOR),
SECTOR = paste0('<img src="../../icon/sector/vsmall/', SECTOR, '.png" alt="All">')) %>%
spread(SECTOR, obsValue) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .} {
Australia
Code
%>%
SNA_TABLE9B filter(LOCATION == "AUS",
== "2017",
obsTime %in% c("NS1", "NS11", "NS12", "NS13", "NS14_S15")) %>%
SECTOR left_join(SNA_TABLE9B_var$TRANSACT, by = "TRANSACT") %>%
left_join(SNA_TABLE1 %>%
filter(TRANSACT == "B1_GE",
== "C") %>%
MEASURE select(obsTime, LOCATION, B1_GE = obsValue),
by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) %>% paste0(., "%")) %>%
select(SECTOR, TRANSACT, Transact, obsValue) %>%
mutate(SECTOR = gsub("N", "", SECTOR),
SECTOR = paste0('<img src="../../icon/sector/vsmall/', SECTOR, '.png" alt="All">')) %>%
spread(SECTOR, obsValue) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .} {
Canada
Code
%>%
SNA_TABLE9B filter(LOCATION == "CAN",
== "2018",
obsTime %in% c("NS1", "NS11", "NS12", "NS13", "NS14_S15")) %>%
SECTOR left_join(SNA_TABLE9B_var$TRANSACT, by = "TRANSACT") %>%
left_join(SNA_TABLE1 %>%
filter(TRANSACT == "B1_GE",
== "C") %>%
MEASURE select(obsTime, LOCATION, B1_GE = obsValue),
by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) %>% paste0(., "%")) %>%
select(SECTOR, TRANSACT, Transact, obsValue) %>%
mutate(SECTOR = gsub("N", "", SECTOR),
SECTOR = paste0('<img src="../../icon/sector/vsmall/', SECTOR, '.png" alt="All">')) %>%
spread(SECTOR, obsValue) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .} {
Germany
Code
%>%
SNA_TABLE9B filter(LOCATION == "DEU",
== "2018",
obsTime %in% c("NS1", "NS11", "NS12", "NS13", "NS14_S15")) %>%
SECTOR left_join(SNA_TABLE9B_var$TRANSACT, by = "TRANSACT") %>%
left_join(SNA_TABLE1 %>%
filter(TRANSACT == "B1_GE",
== "C") %>%
MEASURE select(obsTime, LOCATION, B1_GE = obsValue),
by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) %>% paste0(., "%")) %>%
select(SECTOR, TRANSACT, Transact, obsValue) %>%
mutate(SECTOR = gsub("N", "", SECTOR),
SECTOR = paste0('<img src="../../icon/sector/vsmall/', SECTOR, '.png" alt="All">')) %>%
spread(SECTOR, obsValue) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .} {
Japan
Code
%>%
SNA_TABLE9B filter(LOCATION == "JPN",
== "2018",
obsTime %in% c("NS1", "NS11", "NS12", "NS13", "NS14_S15")) %>%
SECTOR left_join(SNA_TABLE9B_var$TRANSACT, by = "TRANSACT") %>%
left_join(SNA_TABLE1 %>%
filter(TRANSACT == "B1_GE",
== "C") %>%
MEASURE select(obsTime, LOCATION, B1_GE = obsValue),
by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) %>% paste0(., "%")) %>%
select(SECTOR, TRANSACT, Transact, obsValue) %>%
mutate(SECTOR = gsub("N", "", SECTOR),
SECTOR = paste0('<img src="../../icon/sector/vsmall/', SECTOR, '.png" alt="All">')) %>%
spread(SECTOR, obsValue) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .} {
Czech Republic
Code
%>%
SNA_TABLE9B filter(LOCATION == "CZE",
== "2018",
obsTime %in% c("NS1", "NS11", "NS12", "NS13", "NS14_S15")) %>%
SECTOR left_join(SNA_TABLE9B_var$TRANSACT, by = "TRANSACT") %>%
left_join(SNA_TABLE1 %>%
filter(TRANSACT == "B1_GE",
== "C") %>%
MEASURE select(obsTime, LOCATION, B1_GE = obsValue),
by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) %>% paste0(., "%")) %>%
select(SECTOR, TRANSACT, Transact, obsValue) %>%
mutate(SECTOR = gsub("N", "", SECTOR),
SECTOR = paste0('<img src="../../icon/sector/vsmall/', SECTOR, '.png" alt="All">')) %>%
spread(SECTOR, obsValue) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .} {
N2 - Non-produced assets
Table
Code
%>%
SNA_TABLE9B filter(TRANSACT == "N2",
%in% c("NS1", "NS11", "NS12", "NS13", "NS14_S15")) %>%
SECTOR group_by(LOCATION, SECTOR) %>%
summarise(obsValue = last(obsValue),
obsTime = last(obsTime)) %>%
left_join(SNA_TABLE1 %>%
filter(TRANSACT == "B1_GE",
== "C") %>%
MEASURE select(obsTime, LOCATION, B1_GE = obsValue),
by = c("LOCATION", "obsTime")) %>%
select(-obsTime) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) %>% paste0(., "%"),
SECTOR = gsub("N", "", SECTOR)) %>%
%>%
ungroup left_join(SNA_TABLE9B_var$LOCATION, by = "LOCATION") %>%
select(LOCATION, Location, SECTOR, obsValue) %>%
mutate(Flag = gsub(" ", "-", str_to_lower(Location)),
Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) %>%
select(Flag, everything()) %>%
mutate(SECTOR = paste0('<img src="../../icon/sector/vsmall/', SECTOR, '.png" alt="All">')) %>%
spread(SECTOR, obsValue) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .} {
United States, France, Germany, Japan, Canada, Australia
Code
load_data("oecd/SNA_TABLE9B_var2.RData")
%>%
SNA_TABLE9B filter(LOCATION %in% c("FRA", "USA", "DEU", "GBR", "ITA", "ESP", "CAN", "JPN", "AUS"),
== "NS1",
SECTOR %in% c("N211")) %>%
TRANSACT left_join(SNA_TABLE9B_var$LOCATION, by = "LOCATION") %>%
left_join(SNA_TABLE1 %>%
filter(TRANSACT == "B1_GE",
== "C") %>%
MEASURE select(obsTime, LOCATION, B1_GE = obsValue),
by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = obsValue / B1_GE) %>%
%>%
year_to_date select(LOCATION, Location, date, obsValue) %>%
left_join(colors, by = c("Location" = "country")) %>%
+ theme_minimal() + ylab("% of GDP") + xlab("") + add_6flags + scale_color_identity() +
ggplot geom_line(aes(x = date, y = obsValue, color = color)) +
scale_y_continuous(breaks = 0.01*seq(0, 1300, 100),
labels = scales::percent_format(accuracy = 1)) +
scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y"))
Czech Republic, Hungary, Korea, Mexico, New Zealand, Norway, Sweden
Code
load_data("oecd/SNA_TABLE9B_var2.RData")
%>%
SNA_TABLE9B filter(LOCATION %in% c("CZE", "HUN", "KOR", "MEX", "NZL", "NOR", "SWE"),
== "NS1",
SECTOR %in% c("N211")) %>%
TRANSACT left_join(SNA_TABLE9B_var$LOCATION, by = "LOCATION") %>%
left_join(SNA_TABLE1 %>%
filter(TRANSACT == "B1_GE",
== "C") %>%
MEASURE select(obsTime, LOCATION, B1_GE = obsValue),
by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = obsValue / B1_GE) %>%
%>%
year_to_date select(LOCATION, Location, date, obsValue) %>%
left_join(colors, by = c("Location" = "country")) %>%
+ theme_minimal() + ylab("% of GDP") + xlab("") + add_6flags + scale_color_identity() +
ggplot geom_line(aes(x = date, y = obsValue, color = color)) +
scale_y_continuous(breaks = 0.01*seq(0, 1300, 100),
labels = scales::percent_format(accuracy = 1)) +
scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y"))
Time Series
France
Code
%>%
SNA_TABLE9B filter(LOCATION == "FRA",
== "NS1",
SECTOR %in% c("N", "N1", "N2")) %>%
TRANSACT left_join(SNA_TABLE9B_var$TRANSACT, by = "TRANSACT") %>%
left_join(SNA_TABLE1 %>%
filter(TRANSACT == "B1_GE",
== "C") %>%
MEASURE select(obsTime, LOCATION, B1_GE = obsValue),
by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = obsValue / B1_GE) %>%
%>%
year_to_date select(TRANSACT, Transact, date, obsValue) %>%
+ theme_minimal() + ylab("% of GDP") + xlab("") +
ggplot geom_line(aes(x = date, y = obsValue, color = Transact, linetype = Transact)) +
scale_y_continuous(breaks = 0.01*seq(0, 1300, 100),
labels = scales::percent_format(accuracy = 1),
limits = c(0, 8)) +
scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank())
United Kingdom
Code
%>%
SNA_TABLE9B filter(LOCATION == "GBR",
== "NS1",
SECTOR %in% c("N", "N1", "N2")) %>%
TRANSACT left_join(SNA_TABLE9B_var$TRANSACT, by = "TRANSACT") %>%
left_join(SNA_TABLE1 %>%
filter(TRANSACT == "B1_GE",
== "C") %>%
MEASURE select(obsTime, LOCATION, B1_GE = obsValue),
by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = obsValue / B1_GE) %>%
%>%
year_to_date select(TRANSACT, Transact, date, obsValue) %>%
+ theme_minimal() + ylab("% of GDP") + xlab("") +
ggplot geom_line(aes(x = date, y = obsValue, color = Transact, linetype = Transact)) +
scale_y_continuous(breaks = 0.01*seq(0, 1300, 100),
labels = scales::percent_format(accuracy = 1),
limits = c(0, 6)) +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.2, 0.9),
legend.title = element_blank())
Japan
Code
%>%
SNA_TABLE9B filter(LOCATION == "JPN",
== "NS1",
SECTOR %in% c("N", "N1", "N2")) %>%
TRANSACT left_join(SNA_TABLE9B_var$TRANSACT, by = "TRANSACT") %>%
left_join(SNA_TABLE1 %>%
filter(TRANSACT == "B1_GE",
== "C") %>%
MEASURE select(obsTime, LOCATION, B1_GE = obsValue),
by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = obsValue / B1_GE) %>%
%>%
year_to_date select(TRANSACT, Transact, date, obsValue) %>%
+ theme_minimal() + ylab("% of GDP") + xlab("") +
ggplot geom_line(aes(x = date, y = obsValue, color = Transact, linetype = Transact)) +
scale_y_continuous(breaks = 0.01*seq(0, 1300, 100),
labels = scales::percent_format(accuracy = 1),
limits = c(0, 9)) +
scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.7, 0.9),
legend.title = element_blank())
Fixed Assets: K/L Substitution
U.S.
Code
%>%
SNA_TABLE9B filter(TRANSACT %in% c("N1111", "B1_GE", "N1112", "N1113", "N112", "N12"),
== "NS1",
SECTOR == "USA") %>%
LOCATION left_join(SNA_TABLE9B_var$TRANSACT, by = "TRANSACT") %>%
%>%
year_to_date select(date, Transact, obsValue) %>%
spread(Transact, obsValue) %>%
mutate_at(vars(-`Gross domestic product (expenditure approach)`, -date), funs(./ `Gross domestic product (expenditure approach)`)) %>%
select(-`Gross domestic product (expenditure approach)`) %>%
gather(Transact, value, -date) %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("Fixed Assets (% of GDP)") +
geom_line(aes(x = date, y = value, color = Transact)) +
theme(legend.position = c(0.7, 0.5),
legend.title = element_blank(),
legend.text = element_text(size = 8),
legend.key.size = unit(0.9, 'lines')) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 20),
labels = scales::percent_format(accuracy = 1)) +
scale_x_date(breaks = seq(1700, 2020, 5) %>% paste0(., "-01-01") %>% as.Date,
limits = c(1970, 2018) %>% paste0(., "-01-01") %>% as.Date,
labels = date_format("%Y"))
France
Code
%>%
SNA_TABLE9B filter(TRANSACT %in% c("N1111", "B1_GE", "N1112", "N1113", "N112", "N12"),
== "NS1",
SECTOR == "FRA") %>%
LOCATION left_join(SNA_TABLE9B_var$TRANSACT, by = "TRANSACT") %>%
%>%
year_to_date select(date, Transact, obsValue) %>%
spread(Transact, obsValue) %>%
mutate_at(vars(-`Gross domestic product (expenditure approach)`, -date), funs(./ `Gross domestic product (expenditure approach)`)) %>%
select(-`Gross domestic product (expenditure approach)`) %>%
gather(Transact, value, -date) %>%
%>%
na.omit ggplot(.) + geom_line(aes(x = date, y = value, color = Transact)) +
theme_minimal() +
theme(legend.position = c(0.3, 0.90),
legend.title = element_blank(),
legend.text = element_text(size = 8),
legend.key.size = unit(0.9, 'lines')) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 20),
labels = scales::percent_format(accuracy = 1)) +
scale_x_date(breaks = seq(1700, 2020, 5) %>% paste0(., "-01-01") %>% as.Date,
labels = date_format("%Y")) +
xlab("") + ylab("Fixed Assets (% of GDP)")
Germany
Code
%>%
SNA_TABLE9B filter(TRANSACT %in% c("N1111", "B1_GE", "N1112", "N1113", "N112", "N12"),
== "NS1",
SECTOR == "DEU") %>%
LOCATION left_join(SNA_TABLE9B_var$TRANSACT, by = "TRANSACT") %>%
%>%
year_to_date select(date, Transact, obsValue) %>%
spread(Transact, obsValue) %>%
mutate_at(vars(-`Gross domestic product (expenditure approach)`, -date), funs(./ `Gross domestic product (expenditure approach)`)) %>%
select(-`Gross domestic product (expenditure approach)`) %>%
gather(Transact, value, -date) %>%
%>%
na.omit ggplot(.) + geom_line(aes(x = date, y = value, color = Transact)) +
theme_minimal() +
theme(legend.position = c(0.4, 0.50),
legend.title = element_blank(),
legend.text = element_text(size = 8),
legend.key.size = unit(0.9, 'lines')) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 20),
labels = scales::percent_format(accuracy = 1)) +
scale_x_date(breaks = seq(1700, 2020, 1) %>% paste0(., "-01-01") %>% as.Date,
labels = date_format("%Y")) +
xlab("") + ylab("Fixed Assets (% of GDP)")
United Kingdom
Code
%>%
SNA_TABLE9B filter(TRANSACT %in% c("N1111", "B1_GE", "N1112", "N1113", "N112", "N12"),
== "NS1",
SECTOR == "GBR") %>%
LOCATION left_join(SNA_TABLE9B_var$TRANSACT, by = "TRANSACT") %>%
%>%
year_to_date select(date, Transact, obsValue) %>%
spread(Transact, obsValue) %>%
mutate_at(vars(-`Gross domestic product (expenditure approach)`, -date), funs(./ `Gross domestic product (expenditure approach)`)) %>%
select(-`Gross domestic product (expenditure approach)`) %>%
gather(Transact, value, -date) %>%
%>%
na.omit ggplot(.) + geom_line(aes(x = date, y = value, color = Transact)) +
theme_minimal() +
theme(legend.position = c(0.4, 0.50),
legend.title = element_blank(),
legend.text = element_text(size = 8),
legend.key.size = unit(0.9, 'lines')) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 20),
labels = scales::percent_format(accuracy = 1)) +
scale_x_date(breaks = seq(1700, 2020, 1) %>% paste0(., "-01-01") %>% as.Date,
labels = date_format("%Y")) +
xlab("") + ylab("Fixed Assets (% of GDP)")
SNA_TABLE9B_ex1
png
Code
i_g("bib/oecd/SNA_TABLE9B_ex1.png")
Code
Location | Dwellings | Inventories | IPP | Machinery, Equip | Other Buildings |
---|---|---|---|---|---|
Australia | 113% | 10.1% | 13.6% | 37.6% | 147.9% |
Austria | 138.1% | 29.5% | 19.6% | 48.7% | 189.5% |
Belgium | 130.9% | 18.7% | 15.5% | 49.9% | 91.3% |
Canada | 119% | 15.4% | 11.4% | 20.1% | 88.6% |
Chile | 76.4% | 45.4% | 149.5% | ||
Croatia | 127.5% | 28.5% | 12.5% | 59.1% | 241% |
Czech Republic | 108.7% | 43.1% | 11.5% | 61.5% | 196.2% |
Denmark | 142% | 14.9% | 23.8% | 44.3% | 105% |
Estonia | 99.9% | 24.8% | 7.6% | 50.8% | 147.9% |
Finland | 145.2% | 40.1% | 17.5% | 38.1% | 120.4% |
France | 195.9% | 18.3% | 17.5% | 28.9% | 88.2% |
Germany | 158.8% | 17.3% | 41.8% | 101.2% | |
Greece | 159.5% | 19.2% | 4.9% | 51.1% | 96.5% |
Hungary | 97.9% | 27.7% | 9.9% | 61.6% | 204.4% |
Ireland | 88.3% | 114.6% | 47.1% | 55.4% | |
Israel | 101.4% | 12.2% | 17.9% | 33% | 68.7% |
Italy | 165.7% | 22.7% | 11.1% | 41.9% | 126% |
Japan | |||||
Korea | 78.3% | 19.9% | 23.2% | 44.9% | 176.9% |
Latvia | 153% | 25.9% | 4.7% | 58.2% | 214.9% |
Lithuania | 74.7% | 24.7% | 7.2% | 42.5% | 156.6% |
Luxembourg | 55.6% | 4.9% | 39.1% | 113.3% | |
Mexico | 121.9% | 21.1% | 3% | 123.9% | 115.7% |
Netherlands | 120.6% | 13.5% | 20.4% | 42.4% | 106.8% |
New Zealand | 127.4% | 11.9% | 31.9% | 101.9% | |
Norway | 117.4% | 18% | 30.9% | 159.9% | |
Poland | 35.7% | 1.7% | 4.4% | 28.8% | 77.4% |
Portugal | 142.9% | 35.1% | 7% | 29% | 169.7% |
Romania | 50.2% | 41.9% | 8.6% | 133.1% | 153.9% |
Russia | 166.1% | 60.6% | 148.8% | ||
Slovak Republic | 114% | 22.8% | 8.6% | 79% | 222.3% |
Slovenia | 106.3% | 47.7% | 10.4% | 44.7% | 160.6% |
Spain | 140.9% | 19.1% | 11.3% | 49.2% | 144.4% |
Sweden | 122.1% | 38.2% | 25.9% | 50% | 117.8% |
United Kingdom | 80.4% | 13.1% | 14% | 30.7% | 74.7% |
United States | 110% | 13.9% | 21.6% | 40.2% | 133.9% |
SNA_TABLE9B_ex2
png
Code
i_g("bib/oecd/SNA_TABLE9B_ex2.png")
Code
TRANSACT | Transact | France | Germany | United States |
---|---|---|---|---|
B1_GE | Gross domestic product (expenditure approach) | 100% | 100% | 100% |
N1 | Produced assets | 355.7% | 320.2% | |
N10 | Fixed assets and inventories | 349.7% | 319.6% | |
N11 | Fixed assets | 331.4% | 319.5% | 305.7% |
N111 | Tangible fixed assets | 313.9% | 302.1% | 284.1% |
N1111 | Dwellings | 195.9% | 158.8% | 110% |
N1112 | Other buildings and structures | 88.2% | 101.2% | 133.9% |
N11121 | Buildings other than dwellings | 33.7% | 68.1% | 94.8% |
N11122 | Other structures | 54.5% | 33.1% | 39.1% |
N1113 | Machinery and equipment and weapon system | 28.9% | 41.8% | 40.2% |
N1114 | Cultivated biological resources | 1% | 0.3% | 0% |
N112 | Intellectual property product | 17.5% | 17.3% | 21.6% |
N1121 | Mineral exploration and evaluation | 0% | 0% | |
N1122 | Computer software and database | 6.7% | 1.9% | 3.9% |
N1123 | Entertainment, literary or artistic originals | 0.2% | 2.6% | |
N1124 | Research and development | 10.6% | 15% | 15.1% |
N1129 | Other Intellectual property product | 0% | 0% | |
N12 | Inventories | 18.3% | 13.9% |