blockTools-package: Block, Randomly Assign, and Diagnose Potential Interference...

blockTools-packageR Documentation

Block, Randomly Assign, and Diagnose Potential Interference in Randomized Experiments

Description

Block units into experimental blocks, with one unit per treatment condition, by creating a measure of multivariate distance between all possible pairs of units. Maximum, minimum, or an allowable range of differences between units on one variable can be set. Randomly assign units to treatment conditions. Diagnose potential interference problems between units assigned to different treatment conditions. Write outputs to .tex and .csv files.

Details

Given raw data, block creates experimental blocks, assignment assigns units to treatment conditions, diagnose detects possible interference problems, and outTeX and outCSV write block or assignment output objects to a set of .tex and .csv files, respectively. In sequential experiments, seqblock assigns units to treatment conditions.

Author(s)

Ryan T. Moore [aut, cre] (rtm@american.edu), Keith Schnakenberg [aut] (keith.schnakenberg@gmail.com)

References

https://www.ryantmoore.org/html/software.blockTools.html

Moore, Ryan T. Multivariate Continuous Blocking to Improve Political Science Experiments. Political Analysis, 20(4):460-479, 2012.

Moore, Ryan T. and Sally A. Moore. Blocking for Sequential Political Experiments. Political Analysis, 21(4):507-523, 2013.

See Also

Useful links:

Examples

data(x100)

# block
out <- block(x100, groups = "g", n.tr = 2, id.vars = c("id"), 
             block.vars = c("b1", "b2"), algorithm = "optGreedy", 
             distance = "mahalanobis", level.two = FALSE, valid.var = "b1",
             valid.range = c(0,500), verbose = TRUE)
             
# assign
assg <- assignment(out, seed = 123)

# diagnose
diag <- diagnose(object = assg, data = x100, id.vars = "id",
                 suspect.var = "b2", suspect.range = c(0,50))
                 
# create .tex files of assigned blocks
# outTeX(assg)

# create .csv files of unassigned blocks
# outCSV(out)

# create block IDs
createBlockIDs(out, x100, id.var = "id")

# block ID integers are unique, even with several groups
axb <- assg2xBalance(assg, x100, id.var = "id", bal.vars = c("b1", "b2"))


blockTools documentation built on Oct. 20, 2024, 1:08 a.m.