提问人:Nate 提问时间:3/14/2023 更新时间:3/14/2023 访问量:61
无法找到签名“BAM”的函数“draw”的继承方法
unable to find an inherited method for function ‘draw’ for signature ‘"bam"’
问:
我正在 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"’
答:
1赞
Nate
3/14/2023
#1
这似乎只是另一个具有相同函数名称“draw”的包阻止 gratia 执行其操作的情况。我重新加载了所有内容,现在可以工作了。
评论
1赞
Gavin Simpson
3/14/2023
检查这一点的一个好方法是专门调用 gratia 的命令gratia::draw(m3, ...)
draw()
评论