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.