R lme4升级即使在对数据帧内的变量进行分组后也会产生错误消息

R lme4升级即使在对数据帧内的变量进行分组后也会产生错误消息,r,lme4,R,Lme4,我一直在使用lme4的旧版本运行线性混合模型。现在我已经更新了lme4,我得到了以下错误: 错误en[[这确实是lme4中一个尚未修复的错误:。但是,解决方法很简单:只需在数据帧内进行转换,例如as.factor和as.numeric,而不是在公式内,例如 d.sdg.ngb = transform(d.sdg.ngb,species=factor(species)) msdgtot = glmer(sdg.dens ~ ngbr.trees + (1 + ngbr.trees | specie

我一直在使用lme4的旧版本运行线性混合模型。现在我已经更新了lme4,我得到了以下错误:


错误en[[这确实是lme4中一个尚未修复的错误:。但是,解决方法很简单:只需在数据帧内进行转换,例如as.factor和as.numeric,而不是在公式内,例如

d.sdg.ngb = transform(d.sdg.ngb,species=factor(species))
msdgtot = glmer(sdg.dens ~ ngbr.trees + (1 + ngbr.trees | species),
    data=d.sdg.ngb,family=poisson)
一般来说,我认为这甚至不必要——至少最近版本的glmer会自动将分组变量(如物种)转换为因子——但我希望谨慎/明确。如果出于某种原因,我不想将分组变量永久转换为因子,我通常会将变量转换为因子版本可信赖的,可信赖的

d.sdg.ngb = transform(d.sdg.ngb,fspecies=factor(species))
然后在公式中使用F物种而不是物种

值得一提的是,这在之前发布的lme4版本中也是一个问题:lme4.0是向后兼容的版本

gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd),
  data=cbpp,family=binomial)
很好,但是

gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | factor(herd)),
data=cbpp,family=binomial)

在因子中给出错误RD:object“herd”虽然没有发现不那么神秘的错误消息,但仍然是一个错误。

欢迎来到SO Natalia。请阅读并相应修改问题。如果尚未找到,您能否将d.sdg.ngb$物种转换为因子,并尝试glmersdg.dens~ngbr.trees+1+ngbr.trees |物种?sessionInfo的结果d也很有用…前面提到的错误应该在版本1.0-5中修复。。。
gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | factor(herd)),
data=cbpp,family=binomial)