如何解决无法使用包 DHARMa
我曾尝试使用包 glmmTMB
为 DHARMa
模型生成诊断图,但没有成功。此 vignette 中的示例 1.1 给出:
owls_nb1 <- glmmTMB(SiblingNegotiation ~ FoodTreatment*SexParent +
(1|Nest)+offset(log(BroodSize)),contrasts=list(FoodTreatment="contr.sum",SexParent="contr.sum"),family = nbinom1,zi = ~1,data=Owls)
plot(owls_nb1_simres <- simulateResiduals(owls_nb1) )
# Error in on.exit(add = TRUE,{ : invalid 'add' argument
同样的情况:
if (!require(RCurl)) install.packages('RCurl'); library(RCurl)
unicorns <- read.csv(text= RCurl::getURL("https://raw.githubusercontent.com/marcoplebani85/datasets/master/unicorns.csv"))
# simulated data,obviously
unicorns_glmmTMB <- glmmTMB(Herd_size_n ~ food.quantity
+ (1 + food.quantity | Locality)
+ (1 + food.quantity | Year_Month),family="poisson",data=unicorns)
plot(simulateResiduals(unicorns_glmmTMB))
# Error in on.exit(add = TRUE,{ : invalid 'add' argument
如果我在 lme4::glmer
中运行相同的模型:
unicorns_glmer <- glmer(Herd_size_n ~ food.quantity
+ (1 + food.quantity | Locality)
+ (1 + food.quantity | Year_Month),data=unicorns)
...并将其“喂”给:
plot(simulateResiduals(unicorns_glmer))
我获得了没有问题的诊断图(顺便说一下,我知道模型 unicorns_glmer
是次优的,可以改进)。
我正在使用:
-
glmmTMB
版本 1.0.2.9000 从 github 全新安装; -
DHARMa
0.4.1 版; -
R
3.6.3 版; - MacOS Sierra 版本 10.12.6。
有人遇到过同样的问题吗?有大佬知道怎么解决吗?
编辑:我的问题最初是关于包 performance
和 DHARMa
如何处理 glmmTMB
对象。为了重点和清晰起见,我删除了对包 performance
的引用,从而使这个问题特定于 glmmTMB
和 DHARMa
。
解决方法
看起来这是一个存在于 R bug。来自 4.0.2 版的 R NEWS file:
on.exit() 现在可以正确匹配命名参数,这要归功于 Brodie Gaslam 的 PR#17815(包括补丁)。
我已尝试修复 glmmTMB 代码,以便解决该错误。
你可以试试
remotes::install_github("glmmTMB/glmmTMB/glmmTMB@on_exit_order")
看看这是否有帮助(如果没有出错,这个分支应该很快合并到 master ......)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。