Learn R Programming

arm (version 1.14-4)

matching: Single Nearest Neighborhood Matching

Description

Function for processing matching with propensity score

Usage

matching(z, score, replace=FALSE)

Value

The function returns a vector of indices that the corresponding unit is matched to. 0 means matched to nothing.

Arguments

z

vector of indicators for treatment or control.

score

vector of the propensity scores in the same order as z.

replace

whether the control units could be reused for matching, default is FALSE.

Author

Jeniffer Hill jh1030@columbia.edu; Yu-Sung Su suyusung@tsinghua.edu.cn

Details

Function for matching each treatment unit in turn the control unit (not previously chosen) with the closest propensity score

References

Andrew Gelman and Jennifer Hill. (2006). Data Analysis Using Regression and Multilevel/Hierarchical Models. Cambridge University Press.

See Also

balance

Examples

Run this code
# matching first
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="response")
matches <- matching(z=lalonde$treat, score=pscores)
matched <- matches$cnts

# balance check!
b.stats <- balance(lalonde, treat, matched)
print(b.stats)
plot(b.stats)

Run the code above in your browser using DataLab