R包Matchit:完全匹配的规范和错误消息

时间:2019-07-27 02:39:37

标签: r

我正在使用R包matchit进行倾向得分匹配分析。

m.out3<-matchit(data=b4psm5, treat~high_school_gpa+male+pell+black+hispanic+asian+other+race_miss,method="nearest", ratio=1,exact=c("cohortid"), m.order="random", caliper=0.25)

所有变量都在数据中,但是我收到此错误消息,我认为这与精确匹配的命令有关。

Error in Ops.data.frame(exact[itert, k], exact[clabels, k]) : 
‘!=’ only defined for equally-sized data frames

你能建议吗?我没有可复制的数据集。

1 个答案:

答案 0 :(得分:0)

这可能是因为语法错误。如果公式(带有~的部分)不是第一个参数,则需要将其标记为formula=。因此,尝试运行以下代码,看看是否收到错误:

m.out3 <- matchit(data = b4psm5, 
                  formula = treat ~ high_school_gpa + male + pell + 
                      black + hispanic + asian + other + race_miss,
                  method="nearest", ratio=1, exact=c("cohortid"), 
                  m.order="random", caliper=0.25)

通常将公式指定为第一个参数,因此不需要formula=标记,但是您将其指定为第二个参数,因此R不知道模型公式提供的内容进入formula参数。