r - 抑制R中的错误消息

标签 r error-handling

我正在R中运行模拟研究。有时,我的模拟研究会产生错误消息。当我在函数中实现仿真研究时,发生此错误消息时,仿真将停止。我知道抑制错误是一种不好的做法,但是对我而言,目前没有别的选择,只能抑制错误,然后继续进行下一个模拟,直到我希望运行的模拟总数为止。为此,我必须禁止显示R产生的错误消息。

为此,我尝试了不同的方法:

library(base64)
suppressWarnings
suppressMessages
options(error = expression(NULL))

在前两个选项中,仅警告和消息被覆盖,因此无济于事。如果我理解正确,则在最后一种情况下,应避免所有错误消息。但是,这样做无济于事,该功能仍会停止并显示一条错误消息。

有人知道为什么这不能像我期望的那样起作用吗?我在互联网上搜索解决方案,但只能找到上述方法。
在运行仿真的功能中,部分代码由外部程序JAGS(Gibbs采样器)进行分析,并通过此分析生成错误消息。这可能是哪里出错了吗?

请注意,由于不必生成任何其他错误消息,因此我不必限制某个/特定的错误消息,因此“仅够限制所有错误消息”的选项就足够了。

感谢您的时间和帮助!

最佳答案

抑制消息和抑制对错误的响应之间有很大的不同。如果某个函数无法完成其任务,则它必然会返回一个错误(尽管某些函数具有命令行参数,以便在出错时采取其他措施)。正如Zoonekynd所建议的那样,您需要使用trytrycatch来“封装”错误,以便即使函数失败,您的主程序流程也可以继续。

关于r - 抑制R中的错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19111956/

相关文章:

r - 绘制名称为 x 刻度的数字向量

r - R 引用类中的方法初始化

r - 如何使条件面板根据 Shiny 仪表板中的事件选项卡显示菜单项

r - 在R中上传超过2.15 GB的文件

R Shiny 加速数据加载

node.js - 运行grunt/启动server.js时出错

scala - Scala错误建模

django - 提高forms.ValidationError不能在自定义模板形式下工作

c - 对用户输入进行错误处理,直到输入正确

ember.js - Ember 数据剩余适配器错误处理不起作用