如何解决“as.data.frame.default(x[[i]], optional = TRUE): 使用 gamlss 函数或 lme()时无法将类“函数”强制转换为 data.frame”中的错误
我正在尝试使用以下代码使用 set "PEER=TRUE" && python3 -m backend.app
包来拟合 one-inflated Beta 回归混合模型:
gamlss
但我收到以下错误:
# Minimal reproducible example:
efficiency <- rbeta(n = 85,shape1 = 2,shape2 = 2,ncp = 2) # My actual variable contains several "ones",but it does not matter here
distance <- rpois(n = 85,lambda = 4)
manager_id <- c(rep(1,10),rep(2,2),3:75)
manager_id <- as.factor(manager_id)
eff <- data.frame(efficiency,distance,manager_id)
mod1 <- gamlss::gamlss(efficiency~distance + gamlss::re(random = ~1|manager_id,method = "ML"),data = eff,family = gamlss.dist::BEOI())
我相信错误来自 Error in as.data.frame.default(x[[i]],optional = TRUE) :
cannot coerce class ‘"function"’ to a data.frame
调用的 nlme::lme()
函数以适应随机效应,因为当我不包含这部分代码时它可以正常工作。我也许可以使用 gamlss::re()
而不是 gamlss::random()
来适应随机效应,但这些函数的帮助页面指出,当正态性假设无法满足响应变量。
有人可以帮我弄清楚如何解决这个问题吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。