r - 无法使用包 DHARMa 生成 glmmTMB 诊断图
问题描述
我试图为glmmTMB
使用包的模型制作诊断图,DHARMa
但没有成功。此小插图中的示例 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),
family="poisson",
data=unicorns)
...并将其“喂”给:
plot(simulateResiduals(unicorns_glmer))
我获得了没有问题的诊断图(顺便说一下,我知道模型unicorns_glmer
不是最理想的并且可以改进)。
我在用着:
glmmTMB
从 github 新安装的 1.0.2.9000 版本;DHARMa
0.4.1版;R
3.6.3版;- MacOS Sierra 版本 10.12.6。
有没有人遇到过同样的问题?有谁知道如何解决它?
编辑:我的问题最初是关于如何打包performance
和DHARMa
处理glmmTMB
对象。为了重点和清晰起见,我删除了对 package 的引用performance
,从而使这个问题特定于glmmTMB
and DHARMa
。
解决方案
看起来这是R <= 4.0.1 中存在的错误。从版本 4.0.2的R NEWS 文件中:
on.exit() 现在可以正确匹配命名参数,这要归功于 Brodie Gaslam 的 PR#17815(包括补丁)。
我试图修复 glmmTMB 代码,以便它可以解决该错误。
你可以试试
remotes::install_github("glmmTMB/glmmTMB/glmmTMB@on_exit_order")
看看是否有帮助(如果没有出错,这个分支应该很快合并到 master ......)
推荐阅读
- r - 模仿 R 函数中的辅助 tidy dots 参数
- html - 电子邮件在 Outlook 中无法正确呈现 - 在移动设备上隐藏图像并且不导入字体
- javascript - 为什么进入查询是空的并且不起作用?
- android - InputFilter 删除整个文本
- vue.js - 为什么我使用方法时我的 vue3 组件没有更新?
- python - Pandas - 根据行值生成唯一 ID
- asp.net-core-mvc - API 服务器作为 SignalR 客户端
- python - 来自 pandas 交叉表的 Plotly 气泡图
- python - 在嵌套结构中编辑 python 字典键
- python - 如何更改画布坐标原点的位置?