在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)并查看这些确切身份的情况下进行此操作。是否需要其他代码

非常感谢

解决方法

匹配项中单元的标识存储在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与控制单元PSID305PSID369相匹配。如果原始数据集没有行名,则这些值对应于数据集所在的相应单位所在的行。