【发布时间】:2020-07-05 06:37:48
【问题描述】:
我正在使用 MatchIt 包来实现与马氏距离的最近邻匹配。在匹配阶段之后,我如何让它报告哪个对照观察与每个治疗观察匹配?
以下代码不起作用并抛出警告“没有纯马氏距离的子分类。”
library("MatchIt")
data("lalonde")
lalonde_matchit_nn <-
matchit(
treat ~ age + educ + black + hispan + nodegree + married + re74 + re75,
baseline.group = 1,
data = lalonde,
method = "nearest",
distance = "mahalanobis",
subclass = T
)
再次,我要寻找的是输出具有每对处理和控制的 ID,就像使用其他匹配方法(例如,“exact”或“cem”)报告的子类一样。
【问题讨论】:
-
警告是因为你有
method = "mahalanobis"和subclass = T,但是你不能把它们放在一起。您可以选择子分类(倾向得分)或马氏距离匹配。 -
@Noah 谢谢,是的,我意识到了。对于最近邻匹配,不跟踪匹配组(这是子类正在做的事情)似乎是一个奇怪的设计选择。我意识到,与其他匹配方法不同,它是 1:1 匹配,因此不需要,例如,在组内加权。但是有一个带有子类 ID 的列对于其他目的仍然有用,并且在我的应用程序中是必需的。
-
你看到我的回答here 解决了这个问题吗?
标签: r mahalanobis