1

我使用该功能拟合了一个模型lmer()(效果很好)。我有 11 个解释变量。其中三个,如果存在于模型中,会导致step()函数(来自 package lmerTest)返回错误:“变量长度不同(在“...”上找到)”,其中“...”是公式调用。我的数据中没有任何 NA 值:有 600 行,所有三个有问题的变量 ( H, I, J) 都是因子。

我的代码是:

library(purrr) ## for rdunif() 
library(lmerTest)
data2 = as.data.frame(matrix(c(rdunif(600*7,1,5),
                         rdunif(600*3,0,1),
                         rdunif(600,1,9),
                         rep(c("a","b"),300)),
                       nrow = 600), byrow = FALSE)
names(data2) = c("A","B","C","D", "E","F","G","H","I","J","Z","M")
data2[,7:10] = lapply(data2[,7:10],factor)
data2[,c(1:6,11)] = lapply(data2[,c(1:6,11)],as.numeric)

mod1 = lmer(Z ~ A+B+C+D+E+F+G+
          #H+
          #I+
          #J+ 
          (1|M),data2)
step.mod1 = lmerTest::step(mod1) #it works
#
mod2 = lmer(Z ~ A+B+C+D+E+F+G+H+
          #I+
          #J+ 
          (1|M),data2)
step.mod2 = lmerTest::step(mod2) #it does not work and returns: Variables length differ (found on "A+B+C+D+E+F+G+")
mod3 = lmer(Z ~ A+B+C+D+E+F+G+H+I+J+ 
          (1|M),data2)
step.mod3 = lmerTest::step(mod3) #it does not work and returns: Variables length differ (found on "A+B+C+D+E+F+G+H+I+")

我知道当有 NA 时这个错误很常见,但是在这种情况下错误是什么?我该如何解决?

4

0 回答 0