Learn R Programming

ri (version 0.9)

genprob: Estimates probabilities of treatment assignment

Description

Takes a permutation matrix and estimates the probabilities of treatment assignment for each unit

Usage

genprob(perms)

Arguments

perms
N-by-k permutation matrix as produced by genperms or genperms.custom.

Value

N-length numeric vector of values within the (0,1) interval, probability of treatment assignment

Details

genprob is NOT intended to be used for complete randomization of clusters within blocks -- instead, it takes an arbitrary permutation matrix and computes the proportions of random assignments for which each unit is in treatment. For simpler designs, genpermsexact should be used.

References

Gerber, Alan S. and Donald P. Green. 2012. Field Experiments: Design, Analysis, and Interpretation. New York: W.W. Norton.

See Also

genprobexact

Examples

Run this code
## Rejected randomization scheme: reject if and only if there is significant imbalance

X <- c(1:200)

randfun <- function() {
  teststat <- -1
  while (teststat < 0.05) {
		Zri <- sample(c(rep(0,180),rep(1,20))) # imbalanced design
		fstat <- summary(lm(Zri~X))$fstatistic
		teststat <- pf(fstat[1],fstat[2],fstat[3],lower.tail=FALSE)  # extract F-test p-value
			}
	return(Zri)
}
perms <- genperms.custom(numiter=10000, randfun=randfun) # generate permutations
probs <- genprob(perms) # generate approximate probabilities from permutation matrix
cor(probs,(X-mean(X))^2) # observations with extreme X are less likely to be treated

Run the code above in your browser using DataLab