estate()
to produce a randomization distribution of estimated average treatment effects (ATEs).
gendist(Ys, perms, X = NULL, Ypre = NULL, prob = NULL, HT = FALSE)
Y0
and Y1
, as output by genouts()
genperms
or genperms.custom
genprob()
or genprobexact()
. When prob=NULL
(by default), assumes probability of assignment to treatment implied by the permutation matrixHT=TRUE
, invokes the Horvitz-Thompson (difference-in-totals) estimator. When HT=FALSE
, invokes the inverse-probability-weighted regression estimator
estate
, genouts
, genprob
, genperms
, genperms.custom
y <- c(8,6,2,0,3,1,1,1,2,2,0,1,0,2,2,4,1,1)
Z <- c(1,1,0,0,1,1,0,0,1,1,1,1,0,0,1,1,0,0)
cluster <- c(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9)
block <- c(rep(1,4),rep(2,6),rep(3,8))
perms <- genperms(Z,blockvar=block, clustvar=cluster) # all possible permutations
probs <- genprobexact(Z,blockvar=block, clustvar=cluster) # probability of treatment
ate <- estate(y,Z,prob=probs) # estimate the ATE
## Conduct Sharp Null Hypothesis Test of Zero Effect for Each Unit
Ys <- genouts(y,Z,ate=0) # generate potential outcomes under sharp null of no effect
distout <- gendist(Ys,perms, prob=probs) # generate sampling dist. under sharp null
dispdist(distout, ate) # display characteristics of sampling dist. for inference
## Generate Sampling Distribution Around Estimated ATE
Ys <- genouts(y,Z,ate=ate) ## generate potential outcomes under tau = ATE
distout <- gendist(Ys,perms, prob=probs) # generate sampling dist. under tau = ATE
dispdist(distout, ate) ## display characteristics of sampling dist. for inference
Run the code above in your browser using DataLab