使用MatchIt软件包后,观察结果是否一对一匹配?

时间:2019-09-12 22:12:05

标签: r statistics

对你们许多人来说,这可能是一个琐碎的问题。

我已使用方法MatchItr中的nearest包将治疗观察结果与大量对照观察结果进行了匹配。提取匹配的数据后,应该使用独立样本t检验还是配对t检验比较连续结果变量?我的理解是,匹配模仿了均衡随机分配,其中治疗和对照组在外源混杂因素方面相似。但是,我发现一些教程在匹配后使用配对的t检验。那使我想知道哪种治疗观察与哪种对照观察相匹配?我找不到可以回答这个问题的索引变量。以下是与我用于数据的示例代码相似的示例代码:

library("MatchIt")
data("lalonde")
m.out <- matchit(treat ~ re74 + re75 + educ + black + hispan + age, data = lalonde, method = "nearest")
m.data <- match.data(m.out)
t.test(m.data$re78 ~ m.data$treat) 

还有一个问题,在zelig之后使用MatchIt来估计ATT(平均治疗效果)有多重要?

1 个答案:

答案 0 :(得分:1)

关于匹配对ID的第一个问题:根据MatchIt文档,您可以查看匹配对的结果:

cbind(lalonde[row.names(m.out$match.matrix),"re78"], lalonde[m.out$match.matrix,"re78"])

             [,1]        [,2]
  [1,]  9930.0460    94.57450
  [2,]  3595.8940  7118.20900
  [3,] 24909.4500  3683.97200
  [4,]  7506.1460 12718.79000
  ....

因此,您可以为pair_id生成m.data变量,如下所示:

m.data$pair_id = c(1:185, 1:185)

对于第二个问题,一旦获得pair_id,您就可以使用任何可以处理匹配数据的软件包。