5

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

我完全不知道出了什么问题并搜索了互联网。很抱歉,我无法提供数据,因为它来自尚未公布的干预措施。

4

1 回答 1

4

(从评论扩展)。

恭喜,你发现了一个错误lme4!现在已修复:

https://github.com/lme4/lme4/commit/9c12f002821f9567d5454e2ce3b78076dabffb54

这是由于new在全局环境中调用了一个变量(在代码的深处,lme4使用do.call(new,...)并找到您的变量new而不是内置函数new)。

您可以使用从 Github 安装修补版本devtools::install_github()(但您需要编译工具等)。或者,有一个非常简单的解决方法——只需调用你的变量以外的任何东西new(你不能只是复制它,即new2 <- new——你还必须确保旧版本被删除(rm("new")))。

于 2013-11-06T18:09:21.823 回答