lme4 升级产生错误消息 Error in `[[<-.data.frame`(`*tmp*`, i, value = integer(0))
Posted
技术标签:
【中文标题】lme4 升级产生错误消息 Error in `[[<-.data.frame`(`*tmp*`, i, value = integer(0))【英文标题】:lme4 upgrade produces error message Error in `[[<-.data.frame`(`*tmp*`, i, value = integer(0)) 【发布时间】:2013-10-17 16:10:25 【问题描述】:上周我用 lmer (lme4) 构建了一个广义混合线性模型,效果很好:
fit<-lmer(dat$presence~log(dat$SIZE_strict)*dat$Troph_level+log(dat$HAB500EXCL_strict+1)+(1|dat$dataset), family=poisson, REML=FALSE)
然而,更新 lme4 包后,模型不再工作,并给出错误消息:
Error in `[[<-.data.frame`(`*tmp*`, i, value = integer(0)) :
replacement has 0 rows, data has 174
In addition: Warning messages:
1: In lmer(dat$presence ~ log(dat$SIZE_strict) * dat$Troph_level + :
calling lmer with 'family' is deprecated; please use glmer() instead
2: In checkArgs("glmer", REML = FALSE) :
extra argument(s) ‘REML’ disregarded
使用 glmer 代替 lmer 并没有解决第一条错误消息。任何建议将不胜感激!
以下是一些数据(称为 dat):
Troph_level presence dataset SIZE_strict HAB500EXCL_strict
carnivorous 2 1 46155 26005
carnivorous larvae 0 1 46155 26005
phytophagous 2 1 46155 26005
phytophagous 0 3 195295 360882
carnivorous 0 3 195295 360882
carnivorous larvae 0 3 195295 360882
phytophagous 4 2 18272 21169
carnivorous larvae 0 2 18272 21169
carnivorous 1 2 18272 21169
carnivorous 1 2 24964 26745
carnivorous larvae 0 2 24964 26745
phytophagous 4 2 24964 26745
phytophagous 5 2 6220 12543
carnivorous larvae 0 2 6220 12543
carnivorous 1 2 6220 12543
phytophagous 0 3 102633 12198
carnivorous larvae 0 3 102633 12198
carnivorous 0 3 102633 12198
phytophagous 0 3 2092 291439
carnivorous larvae 1 3 2092 291439
carnivorous 0 3 2092 291439
phytophagous 3 5 80410 0
提前非常感谢! 图斯·范诺德韦克
【问题讨论】:
【参考方案1】:这是lme4
新版本中的一个buglet(将在即将发布的补丁版本中修复),它要求分组变量可以在data
参数指定的数据框中找到。一般来说,如果您使用data
参数并避免使用dat$var
形式的变量,那么事情会更顺利(并且您的代码会更容易阅读),例如:
fit <- glmer(presence~log(SIZE_strict)*Troph_level+log(HAB500EXCL_strict+1)+
(1|dataset), family=poisson, data=dat)
【讨论】:
补丁版本 (1.0-5) 现在应该已经发布了。以上是关于lme4 升级产生错误消息 Error in `[[<-.data.frame`(`*tmp*`, i, value = integer(0))的主要内容,如果未能解决你的问题,请参考以下文章
当遇到error: stray '241' in program错误的解决方法
Error creating bean with name ‘stringRedisTemplate‘ defined in class path re
Error creating bean with name ‘stringRedisTemplate‘ defined in class path re
使用 Discord.js 跨渠道发送消息会产生“未定义”错误
centos 7 运行Quartus ii 17.0 标准版,下载程序时遇到错误error (209053): unexpected error in jtag server -- error cod