无法找到签名“BAM”的函数“draw”的继承方法

unable to find an inherited method for function ‘draw’ for signature ‘"bam"’

提问人:Nate 提问时间:3/14/2023 更新时间:3/14/2023 访问量:61

问:

我正在 R 中运行一个游戏,并且此错误消息不断弹出。我已经加载了所有必要的包,使模型不那么复杂,更改了方法 - 似乎没有任何效果。以前有没有人遇到过这个问题并找到了解决方案?

library("gratia")
library("mgcv")

m3 <- bam(occur ~ s(temp) + 
        # sal + 
        s(DO) + 
        sed_depth + 
        # water_depth + 
        
        ave_sav + 
        s(prop_sg) + 
        # prop_ma +
        
        Season + 
        TimeOfDay + 
        
        s(ToD) + 
        s(DoY, bs = 'cc') + 
        CYR.std +
        
        # Spatial variation
        s(Longitude, Latitude, bs = 'tp') + 
        
        s(fSite, bs = "re") +
      
      data = toad, 
      method = 'fREML', 
      # knots = knots,
      # nthreads = 4, 
      discrete = TRUE, 
      family = binomial(link = "logit"), 
      select = TRUE,
      gamma = 1.5)

draw(m3,
     select = c(1,2),
     scale = "fixed")

错误:

Error in (function (classes, fdef, mtable)  : 
  unable to find an inherited method for function ‘draw’ for signature ‘"bam"’
R 绘制 gam

评论


答:

1赞 Nate 3/14/2023 #1

这似乎只是另一个具有相同函数名称“draw”的包阻止 gratia 执行其操作的情况。我重新加载了所有内容,现在可以工作了。

评论

1赞 Gavin Simpson 3/14/2023
检查这一点的一个好方法是专门调用 gratia 的命令gratia::draw(m3, ...)draw()