GitLab at IIASA

sankey_chart.R 2.78 KiB
Newer Older
Xinxin Yang's avatar
Xinxin Yang committed
# load packages
requiredPackages = c('caprir','gdxrrw', 'usethis','hablar', 'tibble',
                     'networkD3','readxl','tidyr','dplyr','reshape2','data.table','plotly','webshot','gt')
for(p in requiredPackages){
  if(!require(p,character.only = TRUE)) install.packages(p)
  library(p,character.only = TRUE)
}

# set gams path, if necessary
gamsPath <- "D://gams//win64//24.9"
igdx(gamsPath)

# set currently working directory
#setwd("D:/public/yang/CAPRIR_Project/caprir_yang")
gdx.dir <- paste0(getwd(), "/inst/extdata/gdx")

# define gdx file name for reading
sanky_file1 <- "res_2_1230cap_after_2014_refdefaultA" # refdefautA
sanky_file2 <- "res_2_1230fta_import_bandefaultA" # bandefaultA

# loaded gdx files and saved in dataout
outdata.dir <- paste0(getwd(), "/inst/outdata")

prod_list = c("WHEA","MAIZ","BARL","RAPE","SUNF","PULS",
              "DDGS","SUGR","ACQU", "SOYC", "OCER","SOYA",
              "RAPO","POUM","RAPC","SUNC","BIOE","SOYO",
              "RICE", "PULS", "SUGA")


balance_detailed_Baseline <- convert_balance_detailed("EU",
                                                      prod_list,
                                                      sanky_file1,
                                                      folder = gdx.dir)
balance_detailed_Scenario <- convert_balance_detailed("EU",
                                                      prod_list,
                                                      sanky_file2,
                                                      folder = gdx.dir)
# biofuels = T
baseline_biofuels <- prelinks(balance_detailed = balance_detailed_Baseline, p_biofuels = T)
scenario_biofuels <- prelinks(balance_detailed = balance_detailed_Scenario, p_biofuels = T)
# biofuels = F
baseline <- prelinks(balance_detailed = balance_detailed_Baseline, p_biofuels = FALSE)
scenario <- prelinks(balance_detailed = balance_detailed_Scenario, p_biofuels = FALSE)

# get links and nodes for different selected market -------------------
# biofuels, baseline
biofuels_ln_baseline <- links_nodes(baseline_biofuels, scenario_biofuels, p_baseline =TRUE)
# biofuels, scenario
biofuels_ln <- links_nodes(baseline_biofuels, scenario_biofuels, p_baseline = FALSE)
# others, baseline
ln_baseline <- links_nodes(baseline, scenario, TRUE)
# others, scenario
ln <- links_nodes(baseline, scenario, FALSE)

# sankey plots ----------------------
# biofuels, baseline,
plot_sankey(biofuels_ln_baseline[[1]],nodes_position(biofuels_ln_baseline[[2]]),p_baseline = TRUE, png = FALSE)
# biofuels and scenario
plot_sankey(biofuels_ln[[1]],nodes_position(biofuels_ln[[2]]),FALSE ,png = FALSE)
# cereals, sugar .. and baseline
plot_sankey(ln_baseline[[1]],nodes_position(ln_baseline[[2]]),TRUE, png = FALSE) ###
# cereals, sugar .. and scenario
plot_sankey(ln[[1]],nodes_position(ln[[2]]), FALSE, png = TRUE)