Learn R Programming

CMatching (version 2.4)

CMatchBalance: Analyze covariate balance before and after matching.

Description

Generic function for analyzing covariate balance. If match.out is NULL only balance statistics for the unmatched data are returned otherwise both before and after matching balance are given. The function is a wrapper calling MatchBalance, possibly after coercing the class of match.out. See MatchBalance for more detailed description.

Usage

CMatchBalance(match.out, formula, data = NULL, ks = TRUE, 
nboots = 500, weights = NULL, digits = 5, paired = TRUE, print.level = 1)

Value

Balance statistics for the covariates specified in the right side of formula argument. Statistics are compared between the two groups specified by the binary variable in the left side of formula.

Arguments

match.out

A matched data set, i.e., the result of a call to Match or CMatch.

formula

This formula does not estimate a model. It is a compact way to describe which variables should be compared between the treated and control group. See MatchBalance.

data

An optional data set for the variables indicated in the formula argument.

ks

A flag for whether Kolmogorov-Smirnov tests should be calculated.

weights

A vector of observation-specific weights.

nboots

The number of bootstrap replication to be used.

digits

The number of digits to be displayed in the output

paired

A flag for whether a paired t.test should be used for the matched data. An unpaired t.test is always used for unmatched data.

print.level

The amount of printing, taking values 0 (no printing), 1(summary) and 2 (dtailed results). Default to 1.

Author

tools:::Rd_package_maintainer("CMatching") and a special thanks to Thomas W. Yee for his help.

Details

The function is a wrapper of the MatchBalance function. If match.out is of class Match (or NULL) then it calls MatchBalance. If match.out is of classCMatch then it coerces the class to Match before calling MatchBalance. This function is meant to exploit MatchBalance for CMatch objects for which MatchBalance would not work.

References

Sekhon, Jasjeet S. 2011. Multivariate and Propensity Score Matching Software with Automated Balance Optimization. Journal of Statistical Software 42(7): 1-52. http://www.jstatsoft.org/v42/i07/

See Also

MatchBalance

Examples

Run this code

data(schools)
 
# Kreft and De Leeuw, Introducing Multilevel Modeling, Sage (1988).   
# The data set is the subsample of NELS-88 data consisting of 10 handpicked schools
# from the 1003 schools in the full data set.
 
# Let us consider the following variables:

X<-schools$ses  # (socio economic status) 
Y<-schools$math #(mathematics score)
Tr<-ifelse(schools$homework > 1, 1 ,0)
Group<-schools$schid #(school ID)

# Multivariate Matching on covariates X 

### Matching within schools
 mw <- CMatch(type="within",Y=Y, Tr=Tr, X=X, Group=Group, caliper=0.1)
 
 # Balance statistics for X variables(s) before and after matching within schools. 
 CMatchBalance(Tr~X,data=schools,match.out = mw)
 
 
### Match preferentially within school 
# i.e. first match within schools
# then tries to match remaining units between schools

 mpw <- CMatch(type="pwithin",Y=schools$math, Tr=Tr, X=schools$ses, 
 Group=schools$schid, caliper=0.1)

# examine covariate balance of variable(s) X before and after preferential matching within schools
  CMatchBalance(Tr~X, data=schools, match.out = mpw)

Run the code above in your browser using DataLab