Nothing
## ----loadpkg, echo = FALSE, include = FALSE-----------------------------------
knitr::opts_chunk$set(fig.width = 8, fig.height = 5, fig.align = "center")
require(ggplot2)
library(lmtest)
library(fixest)
library(inters)
## ----single-------------------------------------------------------------------
data(remit)
single <- feols(Protest ~ remit*dict + l1gdp + l1pop + l1nbr5 + l12gr + l1migr
+ elec3 | period + cowcode, data = remit)
coeftable(single, cluster = ~ caseid)[c("remit", "remit:dict"),]
## ----fully--------------------------------------------------------------------
fully <- feols(Protest ~ dict * (remit + l1gdp + l1pop + l1nbr5 + l12gr + l1migr +
elec3 + factor(period) + factor(cowcode)),
data = remit)
coeftable(fully, cluster ~ caseid)[c("remit", "dict:remit"),]
## ----post-double--------------------------------------------------------------
controls <- c("l1gdp", "l1pop", "l1nbr5", "l12gr", "l1migr", "elec3")
post_ds_out <- post_ds_interaction(data = remit, treat = "remit", moderator = "dict",
outcome = "Protest", control_vars = controls,
panel_vars = c("cowcode", "period"),
cluster = "caseid")
lmtest::coeftest(post_ds_out, vcov = post_ds_out$clustervcv)[c("remit", "remit_dict"),]
## ----calcs, echo = FALSE------------------------------------------------------
cis <- rbind(coefci(single, parm = c("remit", "remit:dict"),
vcov = single$clustervcv),
coefci(fully, parm = c("remit", "dict:remit"),
vcov = fully$clustervcv),
coefci(post_ds_out, parm = c("remit", "remit_dict"),
vcov = post_ds_out$clustervcv))
colnames(cis) <- c("lower", "upper")
coefs <- c(coef(single)[c("remit", "remit:dict")],
coef(fully)[c("remit", "dict:remit")],
coef(post_ds_out)[c("remit", "remit_dict")])
coefficients_df <- data.frame(
qoi = factor(rep(c("Marginal Effect, Democracy",
"Interaction"), times = 3)),
method = factor(rep(c("Single Interaction", "Fully Moderated",
"Post-double Selection"), each = 2)),
est = coefs,
cis = cis
)
## ----coefplot, echo = FALSE---------------------------------------------------
ggplot(coefficients_df, aes(x = qoi, y = est,
group = method, colour = method,
shape = method)) +
geom_hline(yintercept = 0, linetype = 2, size = 1, colour = "indianred") +
geom_point(size = 3, position = position_dodge(width = 0.5)) +
geom_errorbar(size = 1, aes(ymin = cis.lower, ymax = cis.upper),
position = position_dodge(width = 0.5), width = 0) +
scale_colour_grey() +
xlab("Quantity of Interest") +
labs(color = "Method", shape = "Method") +
ylab("Estimate") +
theme_minimal()
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.