首页 > 解决方案 > 在 R 中执行最近邻匹配时,是否可以查看哪些案例与哪些控件匹配的身份?

问题描述

我首先在 R Studio 中尝试使用此处找到的一个小型实践数据集(584 obs,5 个变量)(https://scholarworks.umass.edu/cgi/viewcontent.cgi?article=1330&context=pare

使用此代码,我可以使用最近邻匹配来查找匹配案例和控件 (1:1) 中的平均差异,其中 stw 是我的分组变量,tot、min 和 dis 是匹配变量:

m.out = matchit(stw ~ tot + min + dis,
                data = mydata, method = "nearest",
                ratio = 1)

我想知道的是如何查看哪些案例与哪些控件匹配(即显示我的确切身份)?

我也想在匹配 5 个最近邻居(即比率 = 5)的情况下执行此操作,并查看这些确切的身份。是否需要额外的代码?

非常感谢

标签: rnearest-neighborpropensity-score-matching

解决方案


匹配中的单位标识存储在输出对象的match.matrix组件中。matchit这是一个矩阵,其行数与处理的单元数和ratio列数一样多。每行对应一个处理单元,行中的值对应于与该处理单元匹配的控制单元的标识。下面是一个例子:

> head(m$match.matrix)
     1         2        
NSW1 "PSID305" "PSID369"
NSW2 "PSID198" "PSID273"
NSW3 "PSID333" "PSID282"
NSW4 "PSID400" "PSID92" 
NSW5 "PSID426" "PSID262"
NSW6 "PSID391" "PSID261"

处理单元NSW1与控制单元相PSID305匹配PSID369。如果原始数据集没有行名,则值对应于数据集中出现相应单元的行。


推荐阅读