R: Single Nearest Neighborhood Matching

matching {arm} | R Documentation

## Single Nearest Neighborhood Matching

### Description

Function for processing matching with propensity score

### Usage

    matching(z, score, replace=FALSE)

### 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`.

### Details

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

### Value

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

### Author(s)

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

### References

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

### See Also

`balance`

### Examples

    # 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 <- lalonde[matches$matched,]

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

[Package arm version 1.9-3 Index]