我正在运行一个多级模型。我使用以下命令将validatedRS6
作为结果,random
作为预测变量,clustno
作为随机效果变量。
new<-as.data.frame(read.delim("BABEX.dat", header=TRUE))
install.packages("lme4")
library(lme4)
model1<- glmer(validatedRS6 ~ random + (1|clustno), data=new, family=binomial("logit"), nAGQ = 1L)
但是,我收到以下错误
do.call中的错误(new,c(list(Class =“glmResp”,family = family),ll [setdiff(names(ll),: 'what'必须是字符串或函数
我完全不知道出了什么问题并且已经搜索过互联网。对不起,我无法提供尚未发布的干预数据。
答案 0 :(得分:4)
(从评论中扩展而来)。
恭喜,您在lme4
中发现了一个错误!现在已修复:
https://github.com/lme4/lme4/commit/9c12f002821f9567d5454e2ce3b78076dabffb54
这是因为在全局环境中有一个名为new
的变量(代码内容很深,lme4
使用do.call(new,...)
并找到变量new
而非而不是内置函数new
)。
您可以使用devtools::install_github()
从Github安装修补版本(但您需要编译工具等)。或者,有一个非常简单的解决方法 - 只需调用除new
之外的其他变量(您不能只复制它,即new2 <- new
- 您还必须确保删除旧版本(rm("new")
))。