Nothing
## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(collapse = TRUE, comment = "#>", fig.width = 7, fig.height = 7, fig.align = "center")
## -----------------------------------------------------------------------------
library(dplyr)
library(ggplot2)
library(SCtools)
library(Synth)
theme_set(theme_minimal())
## ----russia-graph, fig.cap="Trend of Alcohol Consumption in Russia"-----------
alcohol %>%
filter(country_name == "Russian Federation") %>%
ggplot(aes(year, consumption))+
geom_line()+
geom_vline(xintercept = 2006, color = "orange")+
labs(
title = "Per Capita Alcohol Consumption in the Russian Federation Since 1990",
subtitle = "The Russian government began a series of policy changes in 2003\nto reduce alcohol consumption",
y = "Per Capita Consumption (L/person)",
x = NULL,
caption = "Data: World Health Organization"
)
## ----fig.cap="Trends in Predictors in Russian Federation"---------------------
alcohol %>%
filter(country_name == "Russian Federation") %>%
select(year, consumption,labor_force_participation_rate:manufacturing) %>%
tidyr::gather(predictor, value, -year) %>%
ggplot(aes(year, value))+
geom_line()+
facet_wrap(~predictor, scales = "free")
## ----fig.cap="Review of Possible Donors", fig.width=5-------------------------
p1 <- alcohol %>%
mutate(my_color = ifelse(country_code == "RUS", "Russia", "Other")) %>%
ggplot(aes(year, consumption, group = country_code, color = my_color))+
geom_line() +
scale_color_manual(values = c("grey", "black", "white"))+
ylim(5,15)+
xlim(1990,2005)
p1
## -----------------------------------------------------------------------------
comparison_states <- c("USA", "UK", "UKR", "KAZ",
"GBR", "ESP", "DEU", "POL",
"FIN", "FRA", "GRC", "IRL",
"LTU", "ROU", "GEO", "MDA",
"SWE", "BEL", "BLR", "KGZ",
"CZE", "MEX", "SVN")
control_ids <- alcohol %>%
select(country_code,country_num) %>%
filter(country_code %in% comparison_states) %>%
distinct() %>%
pull(country_num)
## -----------------------------------------------------------------------------
dataprep.out<-dataprep(
foo = as.data.frame(alcohol),
predictors = c("labor_force_participation_rate",
"inflation",
"mobile_cellular_subscriptions",
"manufacturing"),
predictors.op = "mean",
dependent = "consumption",
unit.variable = "country_num",
time.variable = "year",
treatment.identifier = 142,
controls.identifier = control_ids,
time.predictors.prior = c(1991:2005),
time.optimize.ssr = c(2000:2005),
special.predictors = list(
list("consumption", 2000:2005 ,"mean")),
unit.names.variable = "country_code",
time.plot = 1992:2015
)
## ----echo=FALSE---------------------------------------------------------------
out <- readRDS("out.rds")
## ----eval=FALSE---------------------------------------------------------------
# out <- synth(dataprep.out, Sigf.ipop = 3)
## -----------------------------------------------------------------------------
solution <- out$solution.w %>%
as.data.frame()
solution$country_num <- rownames(solution)
solution %>%
mutate(country_num = as.numeric(country_num)) %>%
left_join(alcohol %>%
select(country_code,country_num) %>%
filter(country_code %in% comparison_states) %>%
distinct(), by = "country_num") %>%
ggplot(aes(reorder(country_code, w.weight), w.weight))+
geom_col()+
coord_flip()+
labs(
title = "Donor Weights by Country",
y = NULL,
x = "Weight"
)
## ----fig.cap="Synthetic Russia vs Actual Russia for Alcohol Consumption per Capita"----
path.plot(synth.res = out, dataprep.res = dataprep.out,
Xlab = "per Capita Alcohol Consumption", )
## -----------------------------------------------------------------------------
delta_out <- (dataprep.out$Y1plot - (dataprep.out$Y0plot %*% out$solution.w)) %>%
as.data.frame()
delta_out$year <- rownames(delta_out)
delta_out%>%
knitr::kable(caption = "Difference in Alcohol Consumption Between Synthetic and Actual Russia", digits = 2)
## ----echo=FALSE---------------------------------------------------------------
placebo <- readRDS("placebo.rds")
## ----eval=FALSE---------------------------------------------------------------
# placebo <- generate.placebos(dataprep.out = dataprep.out,
# synth.out = out, strategy = "multicore")
## ----fig.cap="Placebo Plot for Control Units"---------------------------------
plot_placebos(placebo)
## -----------------------------------------------------------------------------
test_out <- mspe.test(placebo)
test_out$p.val
## ----fig.cap="Mean Squared Prediction Error Ratios for Russia and Donors"-----
mspe.plot(tdf = placebo)
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.