file.path("gtapingams","largeopeneconomy","output","gtap_sage",
paste0("gtap_sage_loe_elasticities_",g,"_average.csv")),
" format=csv symb=avg_elast"))
data = read.csv(file.path("gtapingams","largeopeneconomy","output","gtap_sage",
paste0("gtap_sage_loe_elasticities_",g,"_average.csv")))
names(data) = c("trade","growth","value")
growth_results = rbind(growth_results,data)
rm(data)
}
head(growth_results)
default_growth = growth_results %>% filter(growth==0) %>% select(-growth) %>%
rename("Default"="value")
growth_results = growth_results %>% left_join(default_growth) %>%
rename("Alternative Growth"="value") %>%
pivot_longer(-c(trade,growth), names_to="Scenario", values_to="values")
growth_results$trade[growth_results$trade=="export"] = "Average Export Demand Elasticity"
growth_results$trade[growth_results$trade=="import"] = "Average Import Supply Elasticity"
plot <- ggplot(growth_results, aes(x=growth, y=values, linetype=Scenario, color=Scenario)) +
geom_line(linewidth=1.2) +
labs(x="% Change in ROW GDP", y="Elasticity", linetype="Scenario", color="Scenario") +
scale_color_manual(values=sage.palette) +
theme_bw() +
theme(axis.text.x = element_text(color="black"),
axis.text.y = element_text(color="black"),
axis.title.x = element_text(color="black"),
axis.title.y = element_text(color="black"),
strip.text = element_text(color="black"),
legend.text = element_text(color="black"),
legend.title = element_text(color="black"),
panel.border = element_rect(colour = "black"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black"),
legend.position = "right") +
facet_wrap(~trade, scales="free_y")
plot
ggsave(file.path(output.dir,"growth_simulations.png"),plot, width=9, height=4)
# pull out growth rates for the +-5% for simulations
growth_results = growth_results %>%
pivot_wider(names_from=Scenario, values_from=values)
names(growth_results)[3] = "alternative"
names(growth_results)[4] = "default"
scen_growth = subset(growth_results, growth %in% c("-5","5")) %>%
mutate(pct_change = 100 * (alternative/default - 1))
# calculate sector differentiated growth rates
growth = c(-5,0,5)
growth_results = data.frame()
for (g in growth) {
data = read.csv(file.path("gtapingams","largeopeneconomy","output","gtap_sage",
paste0("gtap_sage_loe_elasticities_",g,".csv")))
data$growth = paste0("growth",g)
growth_results = rbind(growth_results,data)
}
growth_results =
pivot_wider(growth_results, names_from=growth, values_from=value)
names(growth_results) = c("s","trade","low_growth","ref","high_growth")
growth_results = growth_results %>%
mutate(high_growth = high_growth/ref - 1,
low_growth = low_growth/ref - 1)
growth_results
loop_trade = loe_trade[loe_trade != "soe"]
for (l in loop_trade) {
run.model(model=model_file,
options = paste0("--loe=1",
" --loe_grow=",l,
" --saveload=1",
" --epilogue=diagnostics/trade_elasticity.gms",
" --loe_output_file=",output.dir,"/sage_elasts_",l,".csv"))
}
# read in output
elasticities = data.frame()
for (l in loop_trade) {
temp = read.csv(file.path(output.dir,paste0("sage_elasts_",l,".csv"))) %>%
filter(model %in% "sage") %>% mutate(loe_growth = l)
elasticities = rbind(elasticities,temp)
}
elasticities$elasticity[elasticities$elasticity=="exports"] = "Exports"
elasticities$elasticity[elasticities$elasticity=="imports"] = "Imports"
# plot elasticity assumptions over time
options(ggrepel.max.overlaps = Inf)
plot_ref = subset(elasticities, loe_growth %in% "ref")
plot_ref = ggplot(plot_ref, aes(x=time, y=value, color=sector)) +
geom_line(linetype=2) +
geom_point(shape=18) +
geom_label_repel(aes(label=sector), data=plot_ref %>% filter(time == max(time)), size=2) +
facet_wrap(elasticity~., ncol=1, scales = "free_y") +
labs(y="Elasticity", x="Year") +
theme(axis.line.x      = element_line(colour="black"),
axis.line.y      = element_line(colour="black"),
axis.ticks.y     = element_blank(),
panel.grid.major.x = element_blank(),
panel.grid.major.y = element_line(size=.1, color="gray"),
panel.grid.minor = element_blank(),
panel.border     = element_blank(),
panel.background = element_blank(),
legend.position="none")
plot_ref
ggsave(file.path(output.dir,"open_economy_elasticities_ref.png"),width=10,height=3.5)
plot_ref = subset(elasticities, loe_growth %in% "high_growth")
plot_ref = ggplot(plot_ref, aes(x=time, y=value, color=sector)) +
geom_line(linetype=2) +
geom_point(shape=18) +
geom_label_repel(aes(label=sector), data=plot_ref %>% filter(time == max(time)), size=2) +
facet_wrap(elasticity~., ncol=1, scales = "free_y") +
labs(y="Elasticity", x="Year") +
theme(axis.line.x      = element_line(colour="black"),
axis.line.y      = element_line(colour="black"),
axis.ticks.y     = element_blank(),
panel.grid.major.x = element_blank(),
panel.grid.major.y = element_line(size=.1, color="gray"),
panel.grid.minor = element_blank(),
panel.border     = element_blank(),
panel.background = element_blank(),
legend.position="none")
plot_ref
ggsave(file.path(output.dir,"open_economy_elasticities_high_growth.png"),width=10,height=3.5)
plot_ref = subset(elasticities, loe_growth %in% "low_growth")
plot_ref = ggplot(plot_ref, aes(x=time, y=value, color=sector)) +
geom_line(linetype=2) +
geom_point(shape=18) +
geom_label_repel(aes(label=sector), data=plot_ref %>% filter(time == max(time)), size=2) +
facet_wrap(elasticity~., ncol=1, scales = "free_y") +
labs(y="Elasticity", x="Year") +
theme(axis.line.x      = element_line(colour="black"),
axis.line.y      = element_line(colour="black"),
axis.ticks.y     = element_blank(),
panel.grid.major.x = element_blank(),
panel.grid.major.y = element_line(size=.1, color="gray"),
panel.grid.minor = element_blank(),
panel.border     = element_blank(),
panel.background = element_blank(),
legend.position="none")
plot_ref
ggsave(file.path(output.dir,"open_economy_elasticities_low_growth.png"),width=10,height=3.5)
# plot average elasticities over time based on alternative growth assumptions.
# first read in benchmark exports and imports by running baseline:
run.model(model="sage.gms",
benchmark_file = paste0(region_aggregation,"_aggregation.gdx"),
output_file=paste0("baseline.csv"))
reftrd = read.csv(file.path("output","baseline.csv")) %>%
filter(parameter %in% c("m_f","x_f") & time %in% 2016) %>%
group_by(parameter,sector) %>%
summarize(value = sum(value,na.rm=TRUE)) %>%
rename("elasticity"="parameter","weight"="value")
reftrd$elasticity[reftrd$elasticity=="m_f"] = "Imports"
reftrd$elasticity[reftrd$elasticity=="x_f"] = "Exports"
plot_elast = elasticities %>% left_join(reftrd) %>%
group_by(elasticity,time,loe_growth) %>%
summarize(value = sum(value * weight, na.rm=TRUE) / sum(weight, na.rm=TRUE))
plot_elast$elasticity[plot_elast$elasticity=="Imports"] = "Average Economy-wide Import Supply Elasticity"
plot_elast$elasticity[plot_elast$elasticity=="Exports"] = "Average Economy-wide Export Demand Elasticity"
plot_elast$loe_growth[plot_elast$loe_growth=="ref"] = "reference"
plot_elast$loe_growth = factor(plot_elast$loe_growth,
c("reference",
"high_growth",
"low_growth"))
plot <- ggplot(plot_elast) +
geom_line(aes(x=time, y=value, linetype=loe_growth, color=loe_growth), size=1.2) +
labs(x="Year", y="Elasticity", linetype="Scenario", color="Scenario") +
scale_color_manual(values=sage.palette) +
theme_bw() +
theme(axis.text.x = element_text(color="black"),
axis.text.y = element_text(color="black"),
axis.title.x = element_text(color="black"),
axis.title.y = element_text(color="black"),
strip.text = element_text(color="black"),
legend.text = element_text(color="black"),
legend.title = element_text(color="black"),
panel.border = element_rect(colour = "black"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black"),
legend.position = "right") +
facet_wrap(~elasticity, scales="free_y")
plot
ggsave(file.path(output.dir,"open_economy_elasticities.png"),plot, width=9, height=4)
# loop over alternative trade assumptions
for (trd in loe_trade) {
# general options for running the model
general_options = paste0("--loe=1",
" --loe_grow=",trd,
" --saveload=0")
# run the large open economy baseline
run.model(model=model_file,
benchmark_file = paste0(region_aggregation,"_aggregation.gdx"),
output_file=paste0("baseline_loe_",trd,".csv"),
options=general_options)
# run the policy scenario
for (sec in shock_sector) {
for (size in shock_size) {
policy_options = paste0(general_options,
" --sector=",sec,
" --shock_size=",size)
run.model(model=model_file,
benchmark_file = paste0(region_aggregation,"_aggregation.gdx"),
gdx_baseline_file=paste0("baseline_loe_",trd,".gdx"),
output_file=paste0("policy_loe_",trd,"_",sec,"_",size,".csv"),
policy_file=file.path("model","loe_paper_productivity_shock.gms"),
options=policy_options)
}
}
}
# ------------------------------------------------------------------------------
# load results
# ------------------------------------------------------------------------------
# load baselines
baselines <- data.frame()
for (trd in loe_trade) {
bau.loop <- read.csv(file.path("output",paste0("baseline_loe_",trd,".csv")),
stringsAsFactors=FALSE)
bau.loop$loe_trade <- trd
baselines <- rbind(baselines,bau.loop)
}
names(baselines)[7] <- "baseline"
# load the results
results <- data.frame()
for (trd in loe_trade) {
for (sec in shock_sector) {
for (size in shock_size) {
res.loop <- read.csv(file.path("output",paste0("policy_loe_",trd,"_",sec,"_",size,".csv")),
stringsAsFactors=FALSE)
res.loop$loe_trade <- trd
res.loop$shock_sector <- sec
res.loop$shock_size <- size
results <- rbind(results,res.loop)
}
}
}
names(results)[7] = "policy"
# link results and baseline
results = left_join(results, baselines)
# rename shocked sectors:
results$shock_sector <- tolower(results$shock_sector)
results$shock_sector_label[results$shock_sector=="ele"] = "Electricity\nSector Shock"
results$shock_sector_label[results$shock_sector=="bom"] = "Balance of Man.\nSector Shock"
results$shock_sector_label[results$shock_sector=="chm"] = "Chemical Man.\nSector Shock"
results$shock_sector_label[results$shock_sector=="prm"] = "Plastic/Rubber Man.\nSector Shock"
results$shock_sector_label[results$shock_sector=="ref"] = "Refined Petroleum\nSector Shock"
# rename all sectors
results$sector <- tolower(results$sector)
results$sector_label[results$sector=="gas"] = "Natural gas extraction and distribution"
results$sector_label[results$sector=="ele"] = "Electric power"
results$sector_label[results$sector=="col"] = "Coal mining"
results$sector_label[results$sector=="cru"] = "Crude oil"
results$sector_label[results$sector=="srv"] = "Services"
results$sector_label[results$sector=="agf"] = "Agriculture, forestry, fishing, and hunting"
results$sector_label[results$sector=="min"] = "Metal ore and non-metalic mineral mining"
results$sector_label[results$sector=="wsu"] = "Water, sewage, and waste"
results$sector_label[results$sector=="con"] = "Construction"
results$sector_label[results$sector=="fbm"] = "Food and beverage manufacturing"
results$sector_label[results$sector=="wpm"] = "Wood and paper product manufacturing"
results$sector_label[results$sector=="ref"] = "Petroleum refineries"
results$sector_label[results$sector=="chm"] = "Chemical manufacturing"
results$sector_label[results$sector=="prm"] = "Plastics and rubber manufacturing"
results$sector_label[results$sector=="cem"] = "Cement"
results$sector_label[results$sector=="pmm"] = "Primary metal manufacturing"
results$sector_label[results$sector=="fmm"] = "Fabricated metal product manufacturing"
results$sector_label[results$sector=="cpu"] = "Electronics and technology"
results$sector_label[results$sector=="tem"] = "Transportation equipment manufacturing"
results$sector_label[results$sector=="bom"] = "Balance of manufacturing"
results$sector_label[results$sector=="trn"] = "Non-truck transportation"
results$sector_label[results$sector=="ttn"] = "Truck transportation"
results$sector_label[results$sector=="hlt"] = "Healthcare services"
# assign loe_grow assumption as factor variables
results$loe_trade[results$loe_trade=="ref"] = "reference"
results$loe_trade = factor(results$loe_trade,c("reference",
"high_growth",
"low_growth",
"soe"))
# ------------------------------------------------------------------------------
# output price/quanity results for imports and exports, welfare/terms of trade
# ------------------------------------------------------------------------------
# plot export quantity impacts
plot.data = subset(results, parameter %in% "x_f" & shock_size == 1 & time %in% "2021") %>%
group_by(sector_label,loe_trade,shock_sector_label) %>%
summarize(policy = sum(policy,na.rm=TRUE),
baseline = sum(baseline,na.rm=TRUE)) %>%
mutate(pct_change = 100 * (policy/baseline-1))
plot = ggplot(plot.data,aes(x=sector_label, y=pct_change, fill=loe_trade, width=0.75))
plot +
geom_bar(stat="identity", position=position_dodge(), colour="black") +
labs(y="% Change", x="Sector",fill="Model") +
scale_fill_manual(values = sage.palette) +
theme_bw() +
coord_flip() +
geom_hline(yintercept=0) +
theme(axis.text.x = element_text(color="black",angle=45,hjust=1),
axis.text.y = element_text(color="black"),
axis.title.x = element_text(color="black"),
axis.title.y = element_text(color="black"),
strip.text = element_text(color="black"),
legend.text = element_text(color="black"),
legend.title = element_text(color="black"),
panel.border = element_rect(colour = "black"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black")) +
facet_wrap(~ shock_sector_label, ncol=5, strip.position="top")
ggsave(file.path(output.dir,"sage_export_quantities_2021.png"),width=10,height=6)
# plot import quantity impacts
plot.data = subset(results, parameter %in% "m_f" & shock_size == 1 & time %in% "2021") %>%
group_by(sector_label,loe_trade,shock_sector_label) %>%
summarize(policy = sum(policy,na.rm=TRUE),
baseline = sum(baseline,na.rm=TRUE)) %>%
mutate(pct_change = 100 * (policy/baseline-1))
plot = ggplot(plot.data,aes(x=sector_label, y=pct_change, fill=loe_trade, width=0.75))
plot +
geom_bar(stat="identity", position=position_dodge(), colour="black") +
labs(y="% Change", x="Sector",fill="Model") +
scale_fill_manual(values = sage.palette) +
theme_bw() +
coord_flip() +
geom_hline(yintercept=0) +
theme(axis.text.x = element_text(color="black",angle=45,hjust=1),
axis.text.y = element_text(color="black"),
axis.title.x = element_text(color="black"),
axis.title.y = element_text(color="black"),
strip.text = element_text(color="black"),
legend.text = element_text(color="black"),
legend.title = element_text(color="black"),
panel.border = element_rect(colour = "black"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black")) +
facet_wrap(~ shock_sector_label, ncol=5, strip.position="top")
ggsave(file.path(output.dir,"sage_import_quantities_2021.png"),width=10,height=6)
# export price impacts in 2021 (scaled by pfx_2021)
pfx.data = subset(results, parameter %in% c("pfx") & shock_size == 1 & time %in% "2021") %>%
pivot_wider(names_from=parameter, values_from=c(policy,baseline)) %>%
select(time,loe_trade,shock_sector,shock_size,policy_pfx,baseline_pfx)
plot.data = subset(results, parameter %in% c("px") & shock_size == 1 & time %in% "2021" & !(loe_trade %in% "soe")) %>%
pivot_wider(names_from=parameter, values_from=c(policy,baseline)) %>%
select(time,sector,sector_label,loe_trade,shock_sector,shock_sector_label,shock_size,policy_px,baseline_px) %>%
left_join(pfx.data) %>%
mutate(pct_change = 100 * ((policy_px/policy_pfx)/(baseline_px/baseline_pfx) - 1))
plot = ggplot(plot.data,aes(x=sector_label, y=pct_change, fill=loe_trade, width=0.75))
plot +
geom_bar(stat="identity", position=position_dodge(), colour="black") +
labs(y="% Change", x="Sector",fill="Model") +
scale_fill_manual(values = sage.palette) +
theme_bw() +
coord_flip() +
geom_hline(yintercept=0) +
theme(axis.text.x = element_text(color="black",angle=45,hjust=1),
axis.text.y = element_text(color="black"),
axis.title.x = element_text(color="black"),
axis.title.y = element_text(color="black"),
strip.text = element_text(color="black"),
legend.text = element_text(color="black"),
legend.title = element_text(color="black"),
panel.border = element_rect(colour = "black"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black")) +
facet_wrap(~ shock_sector_label, ncol=5, strip.position="top")
ggsave(file.path(output.dir,"sage_export_prices_2021.png"),width=10,height=6)
# import price impacts in 2021 (scaled by pfx_2021)
pfx.data = subset(results, parameter %in% c("pfx") & shock_size == 1 & time %in% "2021") %>%
pivot_wider(names_from=parameter, values_from=c(policy,baseline)) %>%
select(time,loe_trade,shock_sector,shock_size,policy_pfx,baseline_pfx)
plot.data = subset(results, parameter %in% c("pm") & shock_size == 1 & time %in% "2021" & !(loe_trade %in% "soe")) %>%
pivot_wider(names_from=parameter, values_from=c(policy,baseline)) %>%
select(time,sector,sector_label,loe_trade,shock_sector,shock_sector_label,shock_size,policy_pm,baseline_pm) %>%
left_join(pfx.data) %>%
mutate(pct_change = 100 * ((policy_pm/policy_pfx)/(baseline_pm/baseline_pfx) - 1))
# limit report to sectors with imports (bug in reporting)
plot.data = subset(plot.data, !(sector %in% c("con",
"wsu")))
plot = ggplot(plot.data,aes(x=sector_label, y=pct_change, fill=loe_trade, width=0.75))
plot +
geom_bar(stat="identity", position=position_dodge(), colour="black") +
labs(y="% Change", x="Sector",fill="Model") +
scale_fill_manual(values = sage.palette) +
theme_bw() +
coord_flip() +
geom_hline(yintercept=0) +
theme(axis.text.x = element_text(color="black",angle=45,hjust=1),
axis.text.y = element_text(color="black"),
axis.title.x = element_text(color="black"),
axis.title.y = element_text(color="black"),
strip.text = element_text(color="black"),
legend.text = element_text(color="black"),
legend.title = element_text(color="black"),
panel.border = element_rect(colour = "black"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black")) +
facet_wrap(~ shock_sector_label, ncol=5, strip.position="top")
ggsave(file.path(output.dir,"sage_import_prices_2021.png"),width=10,height=6)
# calculate change in export/import quantities and prices for regulated sectors
# over time.
pfx.data = subset(results, parameter %in% c("pfx") & shock_size == 1) %>%
pivot_wider(names_from=parameter, values_from=c(policy,baseline)) %>%
select(time,loe_trade,shock_sector,shock_size,policy_pfx,baseline_pfx)
price.data = subset(results, parameter %in% c("px","pm") & sector == shock_sector) %>%
left_join(pfx.data) %>%
mutate(policy = policy/policy_pfx,
baseline = baseline/baseline_pfx) %>%
mutate(pct_change = 100 * (policy/baseline - 1)) %>%
select(parameter,time,sector,sector_label,shock_sector_label,loe_trade,shock_size,policy,baseline,pct_change)
price.data$qp = "Price"
price.data$parameter[price.data$parameter=="px"] = "Exports"
price.data$parameter[price.data$parameter=="pm"] = "Imports"
quantity.data = subset(results, parameter %in% c("x_f","m_f") & sector == shock_sector) %>%
group_by(parameter,time,sector,sector_label,shock_sector_label,loe_trade,shock_size) %>%
summarize(policy = sum(policy,na.rm=TRUE),
baseline = sum(baseline,na.rm=TRUE)) %>%
mutate(pct_change = 100 * (policy/baseline - 1))
quantity.data$qp = "Quantity"
quantity.data$parameter[quantity.data$parameter=="x_f"] = "Exports"
quantity.data$parameter[quantity.data$parameter=="m_f"] = "Imports"
plot.data = rbind(price.data,quantity.data)
plot <- ggplot(plot.data, aes(x=time, y=pct_change, color=loe_trade, linetype=parameter))
plot +
geom_line(size=1.2) +
geom_hline(yintercept=0) +
labs(y="% Change", x="Year",color="Model",linetype="Trade") +
scale_color_manual(values = sage.palette) +
theme_bw() +
geom_hline(yintercept=0) +
theme(axis.text.x = element_text(color="black"),
axis.text.y = element_text(color="black"),
axis.title.x = element_text(color="black"),
axis.title.y = element_text(color="black"),
strip.text = element_text(color="black"),
legend.text = element_text(color="black"),
legend.title = element_text(color="black"),
panel.border = element_rect(colour = "black"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black")) +
facet_grid(qp~shock_sector_label, scales="free")
ggsave(file.path(output.dir,"sage_time_qp.png"),width=10,height=6)
# calculate welfare across trade assumptions
plot.data = subset(results, parameter %in% c("ev_inf","cl_base_inf") & shock_size==1) %>%
pivot_wider(names_from=parameter, values_from=policy) %>%
group_by(loe_trade,shock_sector_label) %>%
summarize(ev_inf = sum(ev_inf),
cl_base_inf = sum(cl_base_inf)) %>%
mutate(pct_change = 100 * (ev_inf/cl_base_inf))
plot <- ggplot(plot.data, aes(x=loe_trade, y=pct_change, fill=loe_trade, width=0.75))
plot +
geom_bar(stat="identity", position=position_dodge(), colour="black") +
labs(y="% of Baseline Full Consumption", x="Model", fill="Model") +
scale_fill_manual(values = sage.palette) +
theme_bw() +
geom_hline(yintercept=0) +
theme(axis.text.x = element_text(color="black", angle=45, hjust=1),
axis.text.y = element_text(color="black"),
axis.title.x = element_text(color="black"),
axis.title.y = element_text(color="black"),
strip.text = element_text(color="black"),
legend.text = element_text(color="black"),
legend.title = element_text(color="black"),
panel.border = element_rect(colour = "black"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black"),
legend.position="right") +
facet_wrap(~ shock_sector_label, ncol=5, strip.position="top")
ggsave(file.path(output.dir,"sage_welfare.png"),width=10,height=5)
# calculate welfare differences across model scenario: loe vs. soe
welfare = subset(results, parameter %in% c("ev_inf","cl_base_inf") & shock_size==1) %>%
pivot_wider(names_from=parameter, values_from=policy) %>%
group_by(loe_trade,shock_sector_label) %>%
summarize(ev_inf = sum(ev_inf),
cl_base_inf = sum(cl_base_inf)) %>%
mutate(pct_change = 100 * (ev_inf/cl_base_inf)) %>%
select(loe_trade,shock_sector_label,pct_change) %>%
pivot_wider(names_from=loe_trade, values_from=pct_change) %>%
mutate(loe_soe = 100 * (reference / soe - 1),
high = 100 * (high_growth/reference - 1),
low = 100 * (low_growth/reference - 1))
welfare
# calculate terms of trade by time period and across time periods for each
# model
price.data = subset(results, parameter %in% c("px","pm")) %>%
select(parameter,time,sector,sector_label,shock_sector_label,loe_trade,shock_size,policy,baseline) %>%
pivot_wider(names_from=parameter, values_from=c(policy,baseline))
quantity.data = subset(results, parameter %in% c("x_f","m_f")) %>%
group_by(parameter,time,sector,sector_label,shock_sector_label,loe_trade,shock_size) %>%
summarize(policy=sum(policy,na.rm=TRUE),
baseline=sum(baseline,na.rm=TRUE)) %>%
pivot_wider(names_from=parameter, values_from=c(policy,baseline))
plot.data = quantity.data %>% left_join(price.data) %>%
group_by(time,shock_sector_label,loe_trade,shock_size) %>%
summarize(tot = 100 * ((sum(policy_px*baseline_x_f)/sum(policy_pm*baseline_m_f)) /
(sum(baseline_px*baseline_x_f)/sum(baseline_pm*baseline_m_f)) - 1))
plot <- ggplot(plot.data, aes(x=time, y=tot, color=loe_trade))
plot +
geom_line(size=1.2) +
geom_hline(yintercept=0) +
labs(y="% Change", x="Year",color="Model") +
scale_color_manual(values = sage.palette) +
theme_bw() +
geom_hline(yintercept=0) +
theme(axis.text.x = element_text(color="black"),
axis.text.y = element_text(color="black"),
axis.title.x = element_text(color="black"),
axis.title.y = element_text(color="black"),
strip.text = element_text(color="black"),
legend.text = element_text(color="black"),
legend.title = element_text(color="black"),
panel.border = element_rect(colour = "black"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black"))+
facet_wrap(~ shock_sector_label, ncol=5, strip.position="top")
ggsave(file.path(output.dir,"sage_tot.png"),width=10,height=4)
# ------------------------------------------------------------------------------
# end
# ------------------------------------------------------------------------------
