# install devtools
install.packages("devtools")
library(devtools)
# install tidykml
devtools::install_github("briatte/tidykml")
library(tidykml)
# install gdxrrw
# 1: download from website: https://support.gams.com/gdxrrw:interfacing_gams_and_r
# 2: install package
install.packages("D:/public/yang/CAPRIR_Project/gdxrrw_1.0.5.zip", repos = NULL, type="source")
# or install from github
devtools::install_github("GAMS-dev/gdxrrw/gdxrrw")
library(gdxrrw)
# install capriR package
# remotes::install_github("trialsolution/caprir", force = TRUE)
devtools::install_git("https://git-dmz.thuenen.de/mindstep/caprir.git")
library(caprir)
devtools::install_git("https://git-dmz.thuenen.de/mindstep/capriv.git")
library(capriv)
#
# requiredPackages_Github <- c("briatte/tidykml", "GAMS-dev/gdxrrw/gdxrrw")
#
#
# requiredPackages_Gitlab <- "https://git-dmz.thuenen.de/mindstep/caprir.git"
# # "https://git-dmz.thuenen.de/mindstep/capriv.git")
requiredPackages = c('caprir','capriv','gdxrrw', 'usethis','hablar', 'tibble',
'networkD3','readxl','tidyr','dplyr','reshape2',
'data.table','plotly', 'gt', 'ggtext', 'rlang', 'Hmisc','webshot')
if(!require(p,character.only = TRUE))install.packages(p)
# 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",
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, fixedNodePosition = TRUE)
biofuels_ln <- links_nodes(baseline_biofuels, scenario_biofuels, p_baseline = FALSE,fixedNodePosition = TRUE)
ln_baseline <- links_nodes(baseline, scenario, TRUE,fixedNodePosition = TRUE)
ln <- links_nodes(baseline, scenario, FALSE,fixedNodePosition = TRUE)
capriv::plot_sankey(ln_baseline,
p_baseline =TRUE,
png = FALSE) ###
capriv::plot_sankey(ln,
p_baseline = FALSE,
png = FALSE)
# two sankey diagrams in one page ----
cake_oil_m <- combine_dfs(biofuels_ln_baseline, biofuels_ln)
capriv::plot_sankey(cake_oil_m,
capriv::plot_sankey(cereals,
p_baseline = TRUE,
png = TRUE)
# oil cake balance market ----
oil_cake_market_list= c("Rape seed",
"Soya seed",
"Sunflower seed",
"Rape seed oil",
"Soya oil",
"Sunflower seed oil",
"Soya cake",
"Sunflowe seed cake",
"Rape seed cake",
"Destilled dried grains from bio-ethanol processing",
"Pulses",
"Bio ethanol")
# basline: load balance market.
b_oil_cake <- filter_market_balance(balance_detailed_Baseline, oil_cake_market_list)
# Scenario: load balance market.
s_oil_cake <- filter_market_balance(balance_detailed_Scenario, oil_cake_market_list)
# calculate the absolute and percentage changes between baseline and scenario.
oil_cake <- cal_percentage_change(b_oil_cake,s_oil_cake)
oil_cake_tb <- nicetable(oil_cake,"baseline for oil and cake markets") %>%
tab_footnote(
locations = cells_stub(rows = c(2)),
footnote = md("Destilled dried grains from bio-ethanol processing")
)%>%
gtsave(
webshot(paste0(outdata.dir,"/oil_cake_tb.html"),paste0(outdata.dir,"/png/","oil_cake_tb.png"),
vwidth = 1100)
# cereals, meate.. balance market ----
cereals_list <- c("Barley",
"Grain maize",
"Other cereals",
"Wheat",
"Poultry meat",
"Rice milled",
"Sugar","Fish and other acquatic products")
# basline: load balance market.
b_cereals <- filter_market_balance(balance_detailed_Baseline, cereals_list)
# Scenario: load balance market.
s_cereals <- filter_market_balance(balance_detailed_Scenario, cereals_list)
# calculate the absolute and percentage changes between baseline and scenario.
cereals <- cal_percentage_change(b_cereals,s_cereals)
cereals_tb <- nicetable(cereals,"baseline for cereals, sugar, and meat markets") %>%
webshot(paste0(outdata.dir,"/cereals_tb.html"),paste0(outdata.dir,"/png/","cereals_tb.png"),