我正在尝试将“ matchit”包与各种匹配选项一起使用(最近邻居,最优,满等)。除了一种选择:CEM,它们都可以正常工作。
这是我得到的错误:
m.out <- matchit(T ~ x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9,
data = sample_for_matching ,method = "cem")
使用'treat'='1'作为基准组
[.default
(tmp,x,bg)中的错误:下标超出范围**知道为什么会这样吗?它与变量的分布有关吗?当我使用较少的变量时,它确实起作用。但是我需要匹配所有9个变量。谢谢!!!
最佳答案
这是一个古老的问题,但我偶然发现了相同的问题,无法通过谷歌搜索找到解决方案。
我通过尝试匹配变量的不同组合来开始调试。原来,这个问题是由我的一个连续匹配变量中有很多NA引起的。用零代替它们-在我的应用程序中很合适-解决了该问题。
潜在的问题是我的匹配变量之一中的NA与治疗状态完全吻合。