小编I H*_* Ho的帖子

处理drm产生的错误

我被这个问题困住了,我的 R 能力显然不足以解决它。希望有人可以帮助我。

我目前正在编写一个脚本,该脚本使用包“drc”的函数“drm”。我想从 drm 使用不同给定函数生成的最佳模型中获取 EC10、20 和 50 值。我想为不与所有或部分这些函数收敛的数据集实现一个解决方案(例如,如果不收敛,则打印出“数据集不收敛”)。使用 tryCatch 处理错误不起作用。它只捕获“drmOpt”产生的错误而不是“optim”产生的错误,从而停止脚本。
这是我在没有 try 或 tryCatch 的情况下得到的错误:

优化错误(startVec,opfct,hessian = TRUE,method = optMethod,control = list(maxit = maxIt,:非有限有限差分值[2]
drmOpt(opfct,opfct1,startVecSc,optMethod,约束,warnVal)中的错误, : 收敛失败

使用 try 或 tryCatch 我只会得到第一个错误。
可以使用以下代码重现该错误(LL.2 会产生错误,LL.3 不会):

library(drc)
library(data.table)
data <- data.table(Dose = c(0.0,  0.0,  0.0,  0.0,  0.0,  0.0,  0.0,  0.0,  0.5, 0.5,  0.5,  0.5,  3.0,  3.0, 3.0,  3.0, 9.0,  9.0,  9.0,  9.0, 27.0, 27.0, 27.0, 27.0, 81.0, 81.0, 81.0, 81.0), Value = c(1, 3, 2, 7, 5, 7, 6, …
Run Code Online (Sandbox Code Playgroud)

error-handling r drc

7
推荐指数
0
解决办法
2774
查看次数

标签 统计

drc ×1

error-handling ×1

r ×1