【发布时间】:2012-02-06 12:18:29
【问题描述】:
我使用的许多 R 包都涉及通过 print() 调用的命令而不是 message() 或 warning() 的命令来提供所有消息和警告的函数。我希望能够使这些功能进度指示器等静音,但标准的 supressWarnings() 或 supressMessages 不这样做。有没有办法让我抑制打印?
例如:
silly_developer_function <- function(x){
print("Thanks for using my function!!")
if(is(x, "numeric"))
print("warning, x should be a character")
x
}
我想要一个简单的函数suppressPrint(),我可以围绕调用这个函数来抑制警告和无用的消息(但仍然打印返回值)。
【问题讨论】:
-
有使用
sink的hackish策略,但可能有更好的方法。 -
@cboettig -- 您对 Simon 解决方案的建议编辑很好,但最好将其作为编辑/附录添加到您自己的帖子中。谢谢。
-
@JoshO'Brien 感谢您的指点。那么我是否使用该提案编辑我的原始问题?把问题变成答案似乎很奇怪?
-
@cboettig -- 是的,我就是这样做的(并且经常看到它在 SO 上完成)。您可以引用 Simon Urbanek 作为该想法的来源,并说(本质上)“这就是我对这个想法所做的事情”。
标签: r suppress-warnings