【发布时间】:2020-11-23 11:50:06
【问题描述】:
首先:这个问题可能与this stackoverflow post 重复/已经解决。
我想使用 MatchIt 包在我的数据集中使用马氏距离执行完全阻塞匹配。我有两个要用于匹配的观察到的协变量(年龄和性别)。
我知道我可以使用以下参数执行基于马氏的匹配:
formula <- as.formula("group ~ sex_boolean + age")
m.out <- matchit(formula=formula,
data=data_df,
distance='mahalanobis')
site_df_matched <- get_matches(m.out,data=data_df)
但这仅使用最近的邻居执行基于马氏的匹配。如果我想更严格怎么办?是否可以在马氏匹配中引入卡尺?想法如下:对于少数群体中的每个单位,在多数群体中找到一个与马氏距离最小的单位并且位于定义的卡尺内。如果没有来自多数群体的单元,则应丢弃来自少数群体的相应单元。
结果应该是大小相等的治疗组和对照组,其中包含在各自协变量中接近的单位对。 “接近度”应该可以通过卡尺设置的严格程度来控制。更严格的卡尺会导致更多的少数群体丢弃单位。
也许我对基于 mahalanobis 的匹配过程也有错误的理解,但是否可以(并推荐)使用 MatchIt 来做到这一点?
【问题讨论】:
标签: r matching mahalanobis propensity-score-matching