我正在尝试使用glmer
模拟珊瑚招募并在重新调整变量后运行模型时出现错误“错误:无效的分组因子规范,网站”。非常感谢
m1<-glmer(Tot~cs.Tile(Tile)+cs.Coral_T(Coral_T)+cs.Sponge(Sponge)+
cs.Turf(Turf)+cs.Acro(Acro)+cs.Por(Por)+cs.Poc(Poc)+
cs.Mer(Mer)+cs.Agar(Agar)+cs.Fav(Fav)+
cs.Den(Den)+cs.Sid(Sid)+cs.CCA(CCA)+cs.Soft(Soft)+
(1|Site),
family=poisson, data=data)
我有16个变量和368个障碍:
str(data)
'data.frame': 368 obs. of 16 variables:
$ Site : Factor w/ 25 levels "Eight","Eighteen",..: 10 10 10 10 10 10 10 10 10 10 ...
$ Tile : int 1 2 3 4 5 6 7 8 9 10 ...
$ Tot : int 28 24 17 13 29 19 6 13 14 4 ...
$ Coral_T: num 32.6 32.6 32.6 32.6 32.6 ...
$ Sponge : num 0.206 0.206 0.206 0.206 0.206 ...
$ Turf : num 32.3 32.3 32.3 32.3 32.3 ...
$ Acro : num 3.45 3.45 3.45 3.45 3.45 ...
$ Por : num 1.15 1.15 1.15 1.15 1.15 ...
$ Poc : num 0 0 0 0 0 0 0 0 0 0 ...
$ Mer : num 0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 ...
$ Agar : num 24.2 24.2 24.2 24.2 24.2 ...
$ Fav : num 1.02 1.02 1.02 1.02 1.02 ...
$ Den : num 1.18 1.18 1.18 1.18 1.18 ...
$ Sid : int 0 0 0 0 0 0 0 0 0 0 ...
$ CCA : num 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 ...
$ Soft : num 0 0 0 0 0 0 0 0 0 0 ...
答案 0 :(得分:6)
在重新调整变量之后,我在调用update.merMod
时遇到了同样的错误。在通过traceback()
堆栈挖掘并使用缩放和未缩放的数据集翻找我在那里找到的东西之后,我发现问题出现在模型框架的创建中,并且因为我的缩放和居中而发生算法无法解释原始变量中的NA
值。我最初执行了居中/缩放,如下所示:
csData <- data %>% mutate(Var1 = (Var1 - mean(Var1) / sd(Var1),
Var2 = (Var2 - mean(Var2) / sd(Var2))
其中一个变量中有一些NA
值,并且以这种方式缩放和居中导致NA
中的空(所有csData
)向量。随后(并且默默地)导致从model.frame()
返回空帧。虽然空框架是错误的结果,但它(错误)是由于我(错误)在重新缩放期间处理变量中的NA
值而产生的。为[{1}}和na.rm=TRUE
的来电设置sd()
为我解决了问题:
mean()