【问题标题】:GAM model error - missing value where TRUE/FALSE neededGAM 模型错误 - 需要 TRUE/FALSE 的缺失值
【发布时间】:2020-08-30 02:47:32
【问题描述】:

我正在尝试使用环境变量和平均丰度数据创建 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 很陌生,很难理解。解决这个问题的任何帮助都会很棒

【问题讨论】:

    标签: r model gam


    【解决方案1】:

    您要求 gam() 拟合一个假设 integer 响应并将其传递给实值(十进制)变量的模型。

    如果您有重复计数并将它们平均以获得mean 变量,则不要进行平均。包含所有数据行并使用随机效应项按主题处理聚类。

    如果您通过努力变量缩放得到mean,您应该使用原始计数/整数值拟合模型并将offset(log(effort_var)) 添加到公式中,其中effort_var 是您将原始响应除以的变量获取mean

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-07
      • 1970-01-01
      • 2017-05-09
      • 1970-01-01
      • 2021-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多