lme4 :: glmer中的错误消息:“'什么'必须是字符串或函数”

时间:2013-11-05 23:21:26

标签: r lme4

我正在运行一个多级模型。我使用以下命令将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'必须是字符串或函数

我完全不知道出了什么问题并且已经搜索过互联网。对不起,我无法提供尚未发布的干预数据。

1 个答案:

答案 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")))。