r - GAM 模型错误 - 需要 TRUE/FALSE 的缺失值
问题描述
我正在尝试使用环境变量和平均丰度数据创建 GAM 模型。
我用来创建模型的代码是这样的:
imod2 <- gam(mean ~ s(BO_chlomean, bs="cr"), data = envgroup2, family = poisson, method="REML", na.action = na.fail, select=T)
(理想情况下,我想添加其他 2 个变量,但一次添加一件事。)
但是,当我运行代码时,我得到:
Error in if (abs(old.score - score) > score.scale * conv.tol) { :
missing value where TRUE/FALSE needed
我还收到 50 条或更多警告,包括:
1: In dpois(y, y, log = TRUE) : non-integer x = 0.200000
我对 R 很陌生,发现很难理解。解决这个问题的任何帮助都会很棒
解决方案
您要求gam()
拟合一个假设整数响应的模型并将其传递给实值(十进制)变量。
如果您有重复计数并将它们平均以获得mean
变量,则不要进行平均。包括所有数据行,并使用随机效应项按主题处理聚类。
如果您mean
通过努力变量进行缩放,则应该使用原始计数/整数值拟合模型,并添加offset(log(effort_var))
到公式中,其中effort_var
是您将原始响应除以得到的变量mean
。
推荐阅读
- node.js - Firebase Web Init 错误文件已存在
- javascript - JS - D3 多线时间序列图
- git - 每次提交都会在 git 中创建一个新的树对象吗?
- keras - 在 Keras 中使用 ModelCheckpoint 时的最大递归深度错误
- javascript - 输入大小小于引导程序 4 中的“form-control-sm”,例如 xs?
- python - Python:PDF:如何读取复选框等表单元素
- tls1.2 - Traefik 没有找到 TLS 秘密
- reactjs - Redux 状态变回 Intital 状态
- fiware - 如何使用 Postman 和 FIWARE API?
- reactjs - 反应状态未在退格键上更新