我正在运行一个多级模型。我将以下命令与 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)
但是,我收到以下错误
Error in do.call(new, c(list(Class = "glmResp", family = family), ll[setdiff(names(ll), : 'what' must be a character string or a function
我完全不知道出了什么问题,并在互联网上进行了搜索。很抱歉,我无法提供数据,因为它来自尚未发布的干预措施。
最佳答案
(从评论中扩展)。
恭喜,您在 lme4
中发现了一个错误!现在已修复:
https://github.com/lme4/lme4/commit/9c12f002821f9567d5454e2ce3b78076dabffb54
它是由一个名为 new
的变量引起的。在全局环境中(在代码的深处, lme4
使用 do.call(new,...)
并找到您的变量 new
而不是内置函数 new
)。
您可以使用 devtools::install_github()
从 Github 安装补丁版本。 (但你需要编译工具等)。或者,有一个非常简单的解决方法——只需将您的变量称为 new
以外的任何内容。 (您不能只是复制它,即 new2 <- new
- 您还必须确保删除旧版本( rm("new")
))。
关于r - lme4::glmer 中的错误信息: "' what' must be a string or a function",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19801070/