R语言实现PSM(倾向性评分)(MatchIt包)

PSM
    减少研究中的偏差和混杂变量影响
    局限性
        条件独立假设
            理论上不存在遗漏变量
        共同支撑假设
            处理组和对照组的倾向得分有较大的共同取值范围,否则不适合做PSM评分
    三个关键
        结局指标
        目标人群
        协变量
    R包matchit
        初始评估
        匹配
        结果评估
        尝试不同方法
        对比不同的匹配情况

(1)导入数据:数据集lalonde中treat为治疗因素,其余变量为协变量。

#PSM
library("MatchIt")
data("lalonde")
head(lalonde)

R语言实现PSM(倾向性评分)(MatchIt包)_第1张图片

 (2)glm:实现广义线性模型;默认为logistics回归

m.out0 <- matchit(treat ~ age + educ + race + married + 
                   nodegree + re74 + re75, data = lalonde,
                 method = NULL, distance = "glm")
# 在匹配前检查平衡
summary(m.out0)
## 
## Call:
## matchit(formula = treat ~ age + educ + race + married + nodegree + 
##     re74 + re75, data = lalonde, method = NULL, distance = "glm")
## 
## Summary of Balance for All Data:
##            Means Treated Means Control Std. Mean Diff. Var. Ratio eCDF Mean eCDF Max
## distance          0.5774        0.1822          1.7941     0.9211    0.3774   0.6444
## age              25.8162       28.0303         -0.3094     0.4400    0.0813   0.1577
## educ             10.3459       10.2354          0.0550     0.4959    0.0347   0.1114
## raceblack         0.8432        0.2028          1.7615          .    0.6404   0.6404
## racehispan        0.0595        0.1422         -0.3498          .    0.0827   0.0827
## racewhite         0.0973        0.6550         -1.8819 

你可能感兴趣的:(r语言)