你好,我正在使用R中的MatchIt包
我共接获116宗个案及462宗未经处理的个案。
用命令
mod_match_logit = matchit(f.build("treatement_yes_or_no", covariates),
method = "nearest", distance = "logit", data = df, caliper = 0.05, ratio = 3)然后我得到了91例匹配的治疗病例和248例匹配的非治疗病例的结果。我不明白的是,在3:1匹配的情况下,我应该有91*3 = 273个匹配的未治疗病例(而不是248)。默认情况下,命令replace设置为F in MatchIt,因此它不能为我解释不同之处。我遗漏了什么?
发布于 2018-10-14 19:43:10
没有看到数据,我只是猜测,但这很可能是由于您的卡尺设置。
MatchIt将卡尺定义为“绘制控制单元的距离度量的标准差数(默认值= 0,没有卡尺匹配)”(第26页)。
因此,我的猜测是,治疗组中有一些倾向得分较高的单元,无法与未治疗组相匹配(至少在您指定的0.05标准差内)。您没有在匹配的数据集中获得273个主题的原因是由于您的MatchIt调用中的卡尺=0.0 5设置。一些倾向得分较高的治疗对象仍在与至少一个未治疗对象匹配,但由于超出0.05口径规格,无法获得第二个或第三个匹配。也许增加卡尺会保留更多的治疗对象,但根据文献中记载的最佳实践,我不会超过0.25。
根据您的研究设计,您可以考虑使用其他匹配方法。例如,您可以使用欧几里德以外的距离,例如mahalanobis,这是MatchIt中的一个选项。或者,您也可以使用“optmatch”库中的最佳完全匹配或最佳对匹配,尽管您也可以通过MatchIt函数调用它们。还有许多其他方法,但这些方法很容易从MatchIt库中访问。文献的确建议尝试几种不同的方法,然后检查平衡,只要你不“摘樱桃”,给你最大的影响。换句话说,选择匹配的集合是基于协变量平衡,而不是根据研究中的结果变量。有一定的艺术倾向得分匹配,但这就是为什么我认为它如此有趣!
https://stackoverflow.com/questions/52804629
复制相似问题