# NOT RUN {
# }
# NOT RUN {
library(optmatch)
data(nuclearplants)
#match exactly on 3 binaries
exact.mask <- exactMatch(pr ~ pt + ct + bw, data = nuclearplants)
my.dist.matrix <- match_on(pr ~ date + t1 + t2 + cap + ne + cum.n,
within = exact.mask, data = nuclearplants)
#one treated unit out of 10 is excluded
rcbsubset(my.dist.matrix)
#repeat under a refined balance constraint
rcbsubset(my.dist.matrix, fb.list = list('ne'),
treated.info = nuclearplants[which(nuclearplants$pr ==1),],
control.info = nuclearplants[which(nuclearplants$pr == 0),])
#specifying a low exclude.penalty leads to more individuals excluded
rcbsubset(my.dist.matrix, fb.list = list('ne'),
treated.info = nuclearplants[which(nuclearplants$pr ==1),],
control.info = nuclearplants[which(nuclearplants$pr == 0),], exclude.penalty = 1.5)
#match using distance objects created by rcbalance package
library(rcbalance)
my.dist.struct <- build.dist.struct(z = nuclearplants$pr,
X = subset(nuclearplants[c('date','t1','t2','cap','ne','cum.n')]),
exact = paste(nuclearplants$pt, nuclearplants$ct, nuclearplants$bw, sep = '.'))
rcbsubset(my.dist.struct, fb.list = list('ne'),
treated.info = nuclearplants[which(nuclearplants$pr ==1),],
control.info = nuclearplants[which(nuclearplants$pr == 0),], exclude.penalty = 15)
# }
Run the code above in your browser using DataLab