如何解决GAM模型错误-在需要TRUE / FALSE的情况下缺少值
我正在尝试使用环境变量和均值丰度数据创建GAM模型。
和我用来创建模型的代码是这样的:
imod2 <- gam(mean ~ s(BO_chlomean,bs="cr"),data = envgroup2,family = poisson,method="REML",na.action = na.fail,select=T)
(理想情况下,我想一次添加另外两个变量,但是一次添加一个。)
但是,当我运行代码时,我得到了:
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
,则应使用原始的count / integer值对模型进行拟合,并将offset(log(effort_var))
添加到公式中,其中effort_var
是您所需要的变量将原始响应除以mean
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。