抑制R中的一些消息但留下其他消息?

时间:2012-03-19 18:55:59

标签: r

我是一个使用RScaLAPACK的R新手,每当我产生一个新的流程网格时,我都会收到一条消息。

> sla.gridInit(2)
[1] "RScaLAPACK:Process Grid Initialized "

我要把这一行放在一个函数中,我不希望我的函数吐出这条消息。但是 - 我不想只是下沉(“/ dev / null”)调用,因为据我所知,某些地方可能会出错,然后我会抑制有用的输出。基本上,我希望它在成功时保持沉默,如果它失败则要大声。实现这一目标的最佳方法是什么?

欢迎任何想法,包括设计考虑因素。

编辑: sla.gridInit()没有返回任何内容。 sla.gridInit的代码只调用print()。

编辑: 我认为捕获输出最好像suppress messages displayed by "print" instead of "message" or "warning" in R。如果我想用它做点什么,至少我会得到输出。

1 个答案:

答案 0 :(得分:17)

您可以将此函数包含在其中一个抑制*函数suppressMessagessuppressWarningssuppressPackageStartupMessages中。有关详细信息,请参阅这些功能的帮助页面。