【问题标题】:When performing nearest neighbour matching in R, is it possible to view the identity of which cases matched with which controls?在 R 中执行最近邻匹配时,是否可以查看哪些案例与哪些控件匹配的身份?
【发布时间】:2021-01-09 14:10:45
【问题描述】:

我首先在 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)的情况下执行此操作,并查看这些确切的身份。是否需要额外的代码?

非常感谢

【问题讨论】:

    标签: r nearest-neighbor propensity-score-matching


    【解决方案1】:

    匹配中的单位标识存储在matchit 输出对象的match.matrix 组件中。这是一个矩阵,行数与处理单元数一样多,列数为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 匹配。如果原始数据集没有行名,则值对应数据集中出现相应单元的行。

    【讨论】:

      猜你喜欢
      • 2011-09-06
      • 2017-03-10
      • 1970-01-01
      • 2021-03-16
      • 2017-07-11
      • 1970-01-01
      • 2020-11-24
      • 2021-11-17
      • 2012-04-12
      相关资源
      最近更新 更多