Nothing
## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## ----message=FALSE------------------------------------------------------------
require(causalBatch)
require(ggplot2)
require(tidyr)
n = 200
## -----------------------------------------------------------------------------
# a function for plotting a scatter plot of the data
plot.sim <- function(Ys, Ts, Xs, title="",
xlabel="Covariate",
ylabel="Outcome (1st dimension)") {
data = data.frame(Y1=Ys[,1], Y2=Ys[,2],
Group=factor(Ts, levels=c(0, 1), ordered=TRUE),
Covariates=Xs)
data %>%
ggplot(aes(x=Covariates, y=Y1, color=Group)) +
geom_point() +
labs(title=title, x=xlabel, y=ylabel) +
scale_x_continuous(limits = c(-1, 1)) +
scale_color_manual(values=c(`0`="#bb0000", `1`="#0000bb"),
name="Group/Batch") +
theme_bw()
}
# a function for plotting a scatter plot of the data, along with
# lines denoting the expected outcome (per covariate level)
plot.sim.expected <- function(Ys, Ts, Xs, Ytrue, Ttrue, Xtrue, title="",
xlabel="Covariate",
ylabel="Outcome (1st dimension)") {
data = data.frame(Y1=Ys[,1], Y2=Ys[,2],
Group=factor(Ts, levels=c(0, 1), ordered=TRUE),
Covariates=Xs)
data.true = data.frame(Y1=Ytrue[,1], Y2=Ytrue[,2],
Group=factor(Ttrue, levels=c(0, 1), ordered=TRUE),
Covariates=Xtrue)
data %>%
ggplot(aes(x=Covariates, y=Y1, color=Group)) +
geom_point(alpha=0.5) +
labs(title=title, x=xlabel, y=ylabel) +
geom_line(data=data.true, aes(group=Group), linewidth=1.2) +
scale_x_continuous(limits = c(-1, 1)) +
scale_color_manual(values=c(`0`="#bb0000", `1`="#0000bb"),
name="Group/Batch") +
theme_bw()
}
## ----fig.width=5, fig.height=3------------------------------------------------
sim = cb.sims.sim_sigmoid(n=n)
plot.sim(sim$Ys, sim$Ts, sim$Xs, title="Sigmoidal Simulation")
## -----------------------------------------------------------------------------
print(sprintf("Covariate Overlap: %.3f", sim$Overlap))
## ----fig.width=5, fig.height=3------------------------------------------------
plot.sim.expected(sim$Ys, sim$Ts, sim$Xs,
sim$Ytrue, sim$Ttrue, sim$Xtrue,
title="Sigmoidal Simulation")
## ----fig.width=5, fig.height=3------------------------------------------------
sim = cb.sims.sim_sigmoid(n=n, unbalancedness = 3)
plot.sim(sim$Ys, sim$Ts, sim$Xs,
title="Sigmoidal Simulation (Imbalanced Covariates)")
## ----fig.width=5, fig.height=3------------------------------------------------
plot.sim.expected(sim$Ys, sim$Ts, sim$Xs,
sim$Ytrue, sim$Ttrue, sim$Xtrue,
title="Sigmoidal Simulation")
## -----------------------------------------------------------------------------
print(sprintf("Covariate Overlap: %.3f", sim$Overlap))
## ----fig.width=5, fig.height=3------------------------------------------------
sim = cb.sims.sim_sigmoid(n=n, unbalancedness = 1/3)
plot.sim(sim$Ys, sim$Ts, sim$Xs,
title="Sigmoidal Simulation (Imbalanced Covariates)")
## ----fig.width=5, fig.height=3------------------------------------------------
sim = cb.sims.sim_linear(n=n)
plot.sim.expected(sim$Ys, sim$Ts, sim$Xs,
sim$Ytrue, sim$Ttrue, sim$Xtrue,
title="Linear Simulation")
## ----fig.width=5, fig.height=3------------------------------------------------
sim = cb.sims.sim_linear(n=n, pi = 0.25)
plot.sim.expected(sim$Ys, sim$Ts, sim$Xs,
sim$Ytrue, sim$Ttrue, sim$Xtrue,
title="Linear Simulation (Imbalanced Groups/Batches)")
## ----fig.width=5, fig.height=3------------------------------------------------
sim = cb.sims.sim_impulse(n=n)
plot.sim.expected(sim$Ys, sim$Ts, sim$Xs,
sim$Ytrue, sim$Ttrue, sim$Xtrue,
title="Impulse Simulation")
## ----fig.width=5, fig.height=3------------------------------------------------
sim = cb.sims.sim_impulse(n=n, nbreaks=5)
plot.sim.expected(sim$Ys, sim$Ts, sim$Xs,
sim$Ytrue, sim$Ttrue, sim$Xtrue,
title="Impulse Simulation")
## ----fig.width=5, fig.height=3------------------------------------------------
sim = cb.sims.sim_impulse_asycov(n=n, unbalancedness = 1)
plot.sim.expected(sim$Ys, sim$Ts, sim$Xs,
sim$Ytrue, sim$Ttrue, sim$Xtrue,
title="Impulse Simulation")
## ----fig.width=5, fig.height=3------------------------------------------------
sim = cb.sims.sim_impulse_asycov(n=n, unbalancedness = 4)
plot.sim.expected(sim$Ys, sim$Ts, sim$Xs,
sim$Ytrue, sim$Ttrue, sim$Xtrue,
title="Impulse Simulation (Asymmetric Covariates)")
## ----fig.width=5, fig.height=3------------------------------------------------
sim = cb.sims.sim_impulse_asycov(n=n, unbalancedness = 1/5)
plot.sim.expected(sim$Ys, sim$Ts, sim$Xs,
sim$Ytrue, sim$Ttrue, sim$Xtrue,
title="Impulse Simulation (Asymmetric Covariates)")
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.