## ----setup, include = FALSE--------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) library(iotables) require(dplyr) ## ----download, eval=FALSE----------------------------------------------------- # # Not run # not_included_directory <- file.path("..", "not_included") # if (!dir.exists(not_included_directory)) dir.create(not_included_directory) # # The contents of the 'not_included' directory can be found on GitHub, # # but they are not released and distributed with the package. # # naio_10_cp1700 <- iotables_download( # "naio_10_cp1700", # SIOT # data_directory = not_included_directory # ) # # # For inclusion in the package, the files must be smaller. # # Reducing the size of the bulk files will not affect # # the demonstration. # # naio_10_cp1700 <- naio_10_cp1700 %>% # dplyr::filter(geo %in% c("CZ", "SK")) %>% # dplyr::filter(year %in% c(2010, 2015)) # # # Conforming employment data both sexes from 15 years old, year 2015. # # prod_na vocabulary for product x product conformity # emp_cz <- employment_get( # geo = "CZ", year = "2015", sex = "Total", # age = "Y_GE15", labelling = "prod_na", # data_directory = not_included_directory, # force_download = TRUE # ) # # # Conforming employment data #both sexes from 15 years old, year 2017. # emp_sk <- employment_get( # geo = "SK", year = "2017", sex = "Total", # age = "Y_GE15", labelling = "prod_na", # data_directory = not_included_directory, # force_download = TRUE # ) # # save(naio_10_cp1700, emp_sk, emp_cz, # file = file.path( # "..", "inst", "extdata", # "naio_10_product_x_product.rda" # ) # ) ## ----load--------------------------------------------------------------------- # load from pre-saved file to increase running speed load(system.file("extdata", "naio_10_product_x_product.rda", package = "iotables" )) ## ----preprocess--------------------------------------------------------------- cz_io <- iotable_get( labelled_io_data = naio_10_cp1700, source = "naio_10_cp1700", geo = "CZ", year = 2015, unit = "MIO_NAC", stk_flow = "TOTAL", labelling = "short" ) sk_io <- iotable_get( labelled_io_data = naio_10_cp1700, source = "naio_10_cp1700", geo = "SK", year = 2010, unit = "MIO_EUR", stk_flow = "TOTAL", labelling = "short" ) cz_input_flow <- input_flow_get(data_table = cz_io) sk_input_flow <- input_flow_get(data_table = sk_io) cz_output <- output_get(data_table = cz_io) sk_output <- output_get(data_table = sk_io) ## ----inputcoeff, results='asis'----------------------------------------------- input_coeff_matrix_cz <- input_coefficient_matrix_create( data_table = cz_io ) input_coeff_matrix_sk <- input_coefficient_matrix_create( data_table = sk_io ) knitr::kable(head(input_coeff_matrix_cz[, 1:8])) ## ----leontieff, results='asis'------------------------------------------------ L_cz <- leontieff_matrix_create(input_coeff_matrix_cz) I_cz <- leontieff_inverse_create(input_coeff_matrix_cz) L_sk <- leontieff_matrix_create(input_coeff_matrix_sk) I_sk <- leontieff_inverse_create(input_coeff_matrix_sk) knitr::kable(head(I_cz[, 1:8])) ## ----direct, results='asis'--------------------------------------------------- primary_inputs_cz <- coefficient_matrix_create( data_table = cz_io, total = "output", return = "primary_inputs" ) primary_inputs_sk <- coefficient_matrix_create( data_table = sk_io, total = "output", return = "primary_inputs" ) direct_cz <- direct_effects_create(primary_inputs_cz, I_cz) direct_sk <- direct_effects_create(primary_inputs_sk, I_sk) knitr::kable(head(direct_cz[, 1:8]), digits = 4) ## ----total, results='asis'---------------------------------------------------- primary_inputs_cz <- coefficient_matrix_create( data_table = cz_io, total = "output", return = "primary_inputs" ) primary_inputs_sk <- coefficient_matrix_create( data_table = sk_io, total = "output", return = "primary_inputs" ) multipliers_cz <- input_multipliers_create(primary_inputs_cz, I_cz) multipliers_sk <- input_multipliers_create(primary_inputs_sk, I_sk) knitr::kable(head(multipliers_cz[, 1:8]), digits = 4) ## ----employmenteffect, results='asis', message=FALSE-------------------------- # New function is needed to add employment vector to SIOT names(emp_sk)[1] <- "prod_na" names(emp_cz)[1] <- "prod_na" emp_indicator_sk <- rbind( sk_io[, 1:66], emp_sk ) %>% coefficient_matrix_create(., return_part = "primary_inputs" ) %>% filter(prod_na == "employment_total") emp_indicator_cz <- full_join( cz_io, emp_cz ) %>% coefficient_matrix_create(., return_part = "primary_inputs" ) %>% filter(prod_na == "employment_total") emp_effect_sk <- direct_effects_create(emp_indicator_sk, I_sk) emp_effect_cz <- direct_effects_create(emp_indicator_cz, I_cz) knitr::kable(emp_effect_cz[1:8], digits = 5) ## ----employmentindicator, results='asis'-------------------------------------- # New function is needed to add employment vector to SIOT emp_multiplier_sk <- input_multipliers_create(emp_indicator_sk, I_sk) emp_multiplier_cz <- input_multipliers_create(emp_indicator_cz, I_cz) knitr::kable(emp_multiplier_cz[1:8], digits = 5) ## ----output_multipliers, results='asis'--------------------------------------- output_multipliers_cz <- output_multiplier_create(input_coeff_matrix_cz) output_multipliers_sk <- output_multiplier_create(input_coeff_matrix_sk) knitr::kable(head(output_multipliers_cz[, 1:8]), digits = 4) ## ----backward, results='asis'------------------------------------------------- cz_bw <- backward_linkages(I_cz) sk_bw <- backward_linkages(I_sk) knitr::kable(head(cz_bw[, 1:8]), digits = 4) ## ----output_coeff, results='asis', eval=FALSE--------------------------------- # output_coeff_cz <- output_coefficient_matrix_create( # io_table = cz_io, total = "tfu", digits = 4 # ) # # output_coeff_sk <- output_coefficient_matrix_create( # io_table = sk_io, total = "tfu" # ) # # knitr::kable(head(output_coeff_cz[, 1:8])) ## ----forward, results='asis', eval=FALSE-------------------------------------- # cz_fw <- forward_linkages(output_coeff_cz) # sk_fw <- forward_linkages(output_coeff_sk) # # knitr::kable(head(cz_fw), digits = 4) ## ----reproduction_data, eval=FALSE-------------------------------------------- # require(xlsx) # cz_file_name <- file.path("..", "not_included", "CzechRep_test.xlsx") # # Czech Republic data # xlsx::write.xlsx(cz_io, # file = cz_file_name, sheetName = "io_table", # col.names = TRUE, row.names = TRUE, append = FALSE # ) # xlsx::write.xlsx(cz_output, # file = cz_file_name, sheetName = "cz_output", # col.names = TRUE, row.names = TRUE, append = TRUE # ) # xlsx::write.xlsx(input_coeff_matrix_cz, # file = cz_file_name, # sheetName = "input_coeff_matrix_cz", # col.names = TRUE, row.names = TRUE, append = TRUE # ) # xlsx::write.xlsx(L_cz, # file = cz_file_name, sheetName = "L_cz", # col.names = TRUE, row.names = TRUE, append = TRUE # ) # xlsx::write.xlsx(I_cz, # file = cz_file_name, sheetName = "I_cz", # col.names = TRUE, row.names = TRUE, append = TRUE # ) # xlsx::write.xlsx(direct_cz, # file = cz_file_name, # sheetName = "direct_cz", # col.names = TRUE, row.names = TRUE, append = TRUE # ) # xlsx::write.xlsx(multipliers_cz, # file = cz_file_name, # sheetName = "multipliers_cz", # col.names = TRUE, row.names = TRUE, append = TRUE # ) # xlsx::write.xlsx(emp_effect_cz, # file = cz_file_name, # sheetName = "emp_effect_cz_2015", # col.names = TRUE, row.names = TRUE, append = TRUE # ) # xlsx::write.xlsx(emp_indicator_cz, # file = cz_file_name, # sheetName = "emp_indicator_cz", # col.names = TRUE, row.names = TRUE, append = TRUE # ) # xlsx::write.xlsx(emp_multiplier_cz, # file = cz_file_name, # sheetName = "emp_multiplier_cz", # col.names = TRUE, row.names = TRUE, append = TRUE # ) # xlsx::write.xlsx(cz_bw, # file = cz_file_name, # sheetName = "cz_backward_linkages", # col.names = TRUE, row.names = TRUE, append = TRUE # ) # xlsx::write.xlsx(output_coeff_cz, # file = cz_file_name, # sheetName = "output_coeff_sk", # col.names = TRUE, row.names = TRUE, append = TRUE # ) # xlsx::write.xlsx(cz_fw, # file = cz_file_name, # sheetName = "cz_forward_linkages", # col.names = TRUE, row.names = TRUE, append = TRUE # ) # xlsx::write.xlsx(output_multipliers_cz, # file = cz_file_name, # sheetName = "output_multipliers_cz", # col.names = TRUE, row.names = TRUE, append = TRUE # ) # # # sk_file_name <- file.path("..", "not_included", "SlovakRep_test.xlsx") # # Czech Republic data # xlsx::write.xlsx(sk_io, # file = sk_file_name, sheetName = "io_table", # col.names = TRUE, row.names = TRUE, append = FALSE # ) # xlsx::write.xlsx(sk_output, # file = sk_file_name, sheetName = "sk_output", # col.names = TRUE, row.names = TRUE, append = TRUE # ) # xlsx::write.xlsx(input_coeff_matrix_sk, # file = sk_file_name, # sheetName = "input_coeff_matrix_sk", # col.names = TRUE, row.names = TRUE, append = TRUE # ) # xlsx::write.xlsx(L_sk, # file = sk_file_name, sheetName = "L_sk", # col.names = TRUE, row.names = TRUE, append = TRUE # ) # xlsx::write.xlsx(I_sk, # file = sk_file_name, sheetName = "I_sk", # col.names = TRUE, row.names = TRUE, append = TRUE # ) # xlsx::write.xlsx(direct_sk, # file = sk_file_name, # sheetName = "direct_sk", # col.names = TRUE, row.names = TRUE, append = TRUE # ) # xlsx::write.xlsx(multipliers_sk, # file = sk_file_name, # sheetName = "multipliers_sk", # col.names = TRUE, row.names = TRUE, append = TRUE # ) # xlsx::write.xlsx(emp_effect_sk, # file = sk_file_name, # sheetName = "emp_effect_sk_2015", # col.names = TRUE, row.names = TRUE, append = TRUE # ) # xlsx::write.xlsx(emp_indicator_sk, # file = sk_file_name, # sheetName = "emp_indicator_sk", # col.names = TRUE, row.names = TRUE, append = TRUE # ) # xlsx::write.xlsx(emp_multiplier_sk, # file = sk_file_name, # sheetName = "employment_multipliers_sk", # col.names = TRUE, row.names = TRUE, append = TRUE # ) # xlsx::write.xlsx(sk_bw, # file = sk_file_name, # sheetName = "sk_backward_linkages", # col.names = TRUE, row.names = TRUE, append = TRUE # ) # xlsx::write.xlsx(output_coeff_sk, # file = sk_file_name, # sheetName = "output_coeff_sk", # col.names = TRUE, row.names = TRUE, append = TRUE # ) # xlsx::write.xlsx(sk_fw, # file = sk_file_name, # sheetName = "sk_forward_linkages", # col.names = TRUE, row.names = TRUE, append = TRUE # ) # xlsx::write.xlsx(output_multipliers_sk, # file = sk_file_name, # sheetName = "output_multipliers_sk", # col.names = TRUE, row.names = TRUE, append = TRUE # )