Nothing
## ----setupknitr, include=FALSE, message=FALSE---------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## ----setup, message=FALSE----------------------------------------------------
library(iotables)
library(dplyr, quietly = T)
library(tidyr, quietly = T)
## ----iotables-----------------------------------------------------------------
germany_io <- iotable_get( labelling = "iotables" )
input_flow <- input_flow_get (
data_table = germany_io,
households = FALSE)
de_output <- primary_input_get ( germany_io, "output" )
print (de_output[c(1:4)])
## ----inputcoeff, echo=TRUE----------------------------------------------------
de_input_coeff <- input_coefficient_matrix_create(
data_table = germany_io,
digits = 4)
## which is equivalent to:
de_input_coeff <- coefficient_matrix_create(
data_table = germany_io,
total = "output",
return_part = "products",
households = FALSE,
digits = 4)
print (de_input_coeff[1:3, 1:3])
## ----outputcoeff, echo=FALSE--------------------------------------------------
de_out <- output_coefficient_matrix_create (
data_table = germany_io,
total = 'tfu',
digits = 4)
# Rounding is slightly different in the Eurostat manual:
print(de_out[1:3, 1:3])
## ----leontief-----------------------------------------------------------------
L_de <- leontief_matrix_create (
technology_coefficients_matrix = de_input_coeff
)
I_de <- leontief_inverse_create(de_input_coeff)
I_de_4 <- leontief_inverse_create(technology_coefficients_matrix=de_input_coeff,
digits = 4)
print (I_de_4[,1:3])
## ----employment_indicator-----------------------------------------------------
de_emp <- primary_input_get(germany_io,
primary_input = "employment_domestic_total")
de_emp_indicator <- input_indicator_create(
data_table = germany_io,
input_row = "employment_domestic_total")
vector_transpose_longer(de_emp_indicator)
## ----gva_indicator------------------------------------------------------------
de_gva <- primary_input_get ( germany_io,
primary_input = "gva")
de_gva_indicator <- input_indicator_create(
data_table = germany_io,
input_row = "gva")
vector_transpose_longer(de_gva_indicator)
## ----input_indicator----------------------------------------------------------
direct_effects_de <- coefficient_matrix_create(
data_table = germany_io,
total = 'output',
return_part = 'primary_inputs')
direct_effects_de[1:6,1:4]
## ----inputmultipliers---------------------------------------------------------
input_reqr <- coefficient_matrix_create(
data_table = iotable_get(),
total = 'output',
return_part = 'primary_inputs')
multipliers <- input_multipliers_create(
input_requirements = input_reqr,
Im = I_de)
multipliers
## ----employment_multiplier----------------------------------------------------
de_emp_indicator <- input_indicator_create (
data_table = germany_io,
input = 'employment_domestic_total')
employment_multipliers <- multiplier_create (
input_vector = de_emp_indicator,
Im = I_de,
multiplier_name = "employment_multiplier",
digits = 4 )
vector_transpose_longer(employment_multipliers,
values_to="employment_multipliers")
## ----outputmult---------------------------------------------------------------
de_input_coeff <- input_coefficient_matrix_create(
data_table = iotable_get(),
digits = 4)
output_multipliers <- output_multiplier_create (input_coefficient_matrix = de_input_coeff)
vector_transpose_longer(output_multipliers,
values_to = "output_multipliers")
## ----backward-----------------------------------------------------------------
de_coeff <- input_coefficient_matrix_create(iotable_get(), digits = 4)
I_de <- leontief_inverse_create (de_coeff)
vector_transpose_longer(backward_linkages(I_de),
values_to = "backward_linkage_strength")
## ----ghoshinverse-------------------------------------------------------------
de_out <- output_coefficient_matrix_create(
data_table = germany_io,
total = "final_demand",
digits = 4
)
ghosh_inverse_create(de_out, digits = 4)[,1:4]
## ----forwardlinkages----------------------------------------------------------
forward_linkages(output_coefficient_matrix = de_out)
## ----emissions----------------------------------------------------------------
data("germany_airpol")
emissions_de <- germany_airpol[, -3] %>%
vector_transpose_wider(names_from = "iotables_col",
values_from = "value")
## ----emissionsprint-----------------------------------------------------------
emissions_de
## ----outputbp-----------------------------------------------------------------
output_bp <- output_get(germany_io)
## ----emmissioncoeffs----------------------------------------------------------
emission_coeffs <- germany_io %>%
supplementary_add(emissions_de) %>%
input_indicator_create(input_row = as.character(emissions_de$airpol), digits = 4)
## ----emmissioncoeffsprint-----------------------------------------------------
emission_coeffs[-1, 1:3]
## ----CO2multiplier------------------------------------------------------------
multiplier_create(
input_vector = emission_coeffs[2,],
Im = I_de,
multiplier_name = "CO2_multiplier",
digits = 4 )
## ----emissionmultipliers------------------------------------------------------
names(emission_coeffs)[1] <- names(I_de)[1]
emission_multipliers <- cbind (
key_column_create(names(emission_coeffs)[1],
gsub("_indicator", "_multiplier", unlist(emission_coeffs[-1,1]))),
do.call( rbind,
lapply ( 2:nrow(emission_coeffs),
function(x) equation_solve(emission_coeffs[x, ], I_de) )
) %>% as.data.frame()
)
emission_multipliers[, -1] <- round(emission_multipliers[, -1], 4)
emission_multipliers[1:3,1:4]
## ----finaldemand--------------------------------------------------------------
final_demand <- rowSums(germany_io[1:6, 9:13])
## ----emissioncontent----------------------------------------------------------
emission_content <- as.data.frame(
round(as.matrix(emission_multipliers[1:3, -1]) %*% diag(final_demand), 0)
)
names(emission_content) <- names(emission_multipliers[,-1])
emission_content <- data.frame (
iotables_row = gsub("_multiplier", "_content", emission_multipliers[1:3,1])
) %>%
cbind(emission_content )
emission_content[,1:4]
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.