When performing nearest neighbour matching in R, is it possible to view the identity of which cases matched with which controls?

那年仲夏 提交于 2021-01-29 05:06:43

问题


I'm first trying this out in R Studio with a small practice dataset found here (584 obs, 5 variables) (https://scholarworks.umass.edu/cgi/viewcontent.cgi?article=1330&context=pare)

Using this code I can use nearest neighbor matching to find the mean difference in matched cases and controls (1:1) where stw is my grouping variable and tot, min, and dis are the matching variables:

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

what I want to know is how can I view which cases have matched with which controls (i.e. shows me the exact identity)?

I would also like to do this where I match 5 nearest neighbors (i.e. ratio = 5) and also view those exact identities. is there additional code needed for this?

many thanks


回答1:


The identity of units within a match are stored in the match.matrix component of the matchit output object. This is a matrix with as many rows as there are treated units and with ratio columns. Each row corresponds to a treated unit, and the values in the row correspond to the identity of the control unit matched to that treated unit. Below is an example:

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

Treated unit NSW1 is matched with control units PSID305 and PSID369. If the original dataset did not have row names, the values correspond to the row of the dataset where the corresponding unit appears.



来源:https://stackoverflow.com/questions/64026870/when-performing-nearest-neighbour-matching-in-r-is-it-possible-to-view-the-iden

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!