我正在尝试将“ 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与治疗状态完全吻合。

08-16 07:11