Functions to compute the balance statistics
This function computes the balance statistics before and after matching.
balance(rawdata, treat, matched, estimand="ATT") ## S3 method for class 'balance' print(x, ..., combined = FALSE, digits = 2) ## S3 method for class 'balance' plot(x, longcovnames=NULL, which.covs="mixed", v.axis=TRUE, cex.main=1, cex.vars=1, cex.pts=1, mar=c(4, 3, 5.1, 2), plot=TRUE, x.max = NULL, ...)
rawdata |
The full covariate dataset |
treat |
the vector of treatment assignments for the full dataset |
matched |
vector of weights to apply to the full dataset to create the restructured data: for matching without replacement these will all be 0's and 1's; for one-to-one matching with replacement these will all be non-negative integers; for IPTW or more complicated matching methods these could be any non-negative numbers |
estimand |
can either be |
x |
an object return by the balance function. |
combined |
default is |
digits |
minimal number of significant digits, default is 2. |
longcovnames |
long covariate names. If not provided, plot will use covariate variable name by default |
which.covs |
|
v.axis |
default is |
cex.main |
font size of main title |
cex.vars |
font size of variabel names |
cex.pts |
point size of the estimates |
mar |
A numerical vector of the form |
plot |
default is |
x.max |
set the max of the |
... |
other plot options may be passed to this function |
This function plots the balance statistics before and after matching. The open circle dots represent the unmatched balance statistics. The solid dots represent the matched balance statistics. The closer the value of the estimates to the zero, the better the treated and control groups are balanced after matching.
The function does not work with predictors that contain factor(x), log(x) or all other data transformation. Create new objects for these variables. Attach them into the original dataset before doing the matching procedure.
Jennifer Hill jennifer.hill@nyu.edu; Yu-Sung Su suyusung@tsinghua.edu.cn
Andrew Gelman and Jennifer Hill. (2006). Data Analysis Using Regression and Multilevel/Hierarchical Models. Cambridge University Press. (Chapter 10)
# matching first old.par <- par(no.readonly = TRUE) data(lalonde) attach(lalonde) fit <- glm(treat ~ re74 + re75 + age + factor(educ) + black + hisp + married + nodegr + u74 + u75, family=binomial(link="logit")) pscores <- predict(fit, type="link") matches <- matching(z=lalonde$treat, score=pscores) matched <- matches$cnts # balance check b.stats <- balance(lalonde, treat, matched, estimand = "ATT") print(b.stats) plot(b.stats) par(old.par)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.