View source: R/invertRIconfInt.R
invertRIconfInt | R Documentation |
Using an output object from seqblock
or any other matrix or dataframe that includes a treatment and an outcome variable for multiple units, as well as blocking and non-blocking variables for the respective unit(s), invertRIconfInt
calculates treatment effect confidence intervals by inverting the randomization inference test.
invertRIconfInt(
dat,
outcome.var,
tr.var,
tau.abs.min = -1,
tau.abs.max = 1,
tau.length = 10,
n.sb.p = 100,
id.vars,
id.vals,
exact.vars = NULL,
exact.vals = NULL,
exact.restr = NULL,
exact.alg = "single",
covar.vars = NULL,
covar.vals = NULL,
covar.restr = NULL,
covars.ord = NULL,
n.tr = 2,
tr.names = NULL,
assg.prob = NULL,
seed = NULL,
seed.dist,
assg.prob.stat = NULL,
trim = NULL,
assg.prob.method = NULL,
assg.prob.kfac = NULL,
distance = "mahalanobis",
file.name = "sbout.RData",
query = FALSE,
verbose = TRUE
)
dat |
a matrix or dataframe containing the names and values of the different blocking and non-blocking variables, as well as each unit's treatment assignment and outcome |
outcome.var |
a string specifying the name of the outcome variable |
tr.var |
a string specifying the name of the treatment variable |
tau.abs.min |
lower bound of the range across which the confidence intervals will be computed |
tau.abs.max |
upper bound of the range across which the confidence intervals will be computed |
tau.length |
the number of (evenly spaced) possible treatment effects across the range specified by |
n.sb.p |
the number of times that sequential blocking will be performed on the dataset |
id.vars |
see the |
id.vals |
see the |
exact.vars |
see the |
exact.vals |
see the |
exact.restr |
see the |
exact.alg |
see the |
covar.vars |
see the |
covar.vals |
see the |
covar.restr |
see the |
covars.ord |
see the |
n.tr |
see the |
tr.names |
see the |
assg.prob |
see the |
seed |
see the |
seed.dist |
see the |
assg.prob.stat |
see the |
trim |
see the |
assg.prob.method |
see the |
assg.prob.kfac |
see the |
distance |
see the |
file.name |
see the |
query |
see the |
verbose |
see the |
invertRIconfInt
takes a data matrix (or data frame) containing names and values of different blocking and non-blocking variables, as well as each unit's treatment assignment and outcome as input and returns a list of treatment effect confidence intervals.
Apart from specifying the treatment and outcome variable, the user can set all other arguments to seqblock
when running invertRIconfInt
. The function will then calculate the confidence intervals by employing a method described in Ho and Imai (2006), which inverts Fisher's exact test. The resulting confidence intervals are distribution-free, nonparametric and have accurate coverage probabilities.
A list with elements
ci95: vector of treatment effects within the 95% confidence interval
ci90: vector of treatment effects within the 90% confidence interval
ci80: vector of treatment effects within the 80% confidence interval
Ryan T. Moore rtm@american.edu and Jonathan Homola homola@wustl.edu
Moore, Ryan T. and Sally A. Moore. 2013. "Blocking for Sequential Political Experiments." Political Analysis 21(4): 507-523.
Ho, Daniel E., and Kosuke Imai. 2006. "Randomization inference with natural experiments: An analysis of ballot effects in the 2003 California recall election." Journal of the American Statistical Association 101(475): 888-900.
seqblock
# Create an example data matrix with 50 observations that contains an ID variable,
# a dummy variable indicating gender, an age variable (between 18 and 55), a
# treatment variable and an outcome variable (between 15 and 20).
# id <- seq(1, 50, 1)
# gender <- sample(c(1, 2), 50, replace = TRUE)
# age <- sample(seq(18, 55, 1), 50, replace = TRUE)
# treat <- sample(c(1, 2), 50, replace = TRUE)
# out <- treat + sample(seq(15, 20, 1), 50, replace = TRUE)
# df <- cbind(id, gender, age, out, treat)
# Check summary statistics for the created data
# aggregate(out ~ treat, df, mean)
# Run invertRIconfInt()
# invertRIconfInt(data, outcome.var="out", tr.var="treat", tau.abs.min = -3,
# tau.abs.max = 3, id.vars = "id", id.vals = "id",
# exact.vars = c("gender", "age"), exact.vals = c("gender", "age"))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.