我有个包裹在R(ROCR),我需要在我的R环境中加载它。在加载包时,会打印一组消息。这通常是好的,但是由于我的R脚本的输出将用于进一步的分析,我想完全禁用所有这些输出。我该怎么做呢?此外,我更喜欢在根本不修改ROCR的情况下完成它。这样这个脚本的未来用户也不需要这样做。
到目前为止:
sink()
在这里不起作用-将stdout和std err重定向到/dev/null
对我没有任何作用。- 毫不奇怪,
options(warnings=-1)
也不做任何事情,因为它们本身并不是要打印的警告。
有什么想法吗?
6条答案
按热度按时间368yc8dk1#
只需在
library()
调用中使用suppressMessages()
:olhwl3o22#
使用
suppressPackageStartupMessages
,请参阅 MehradMahmoudian 的答案。为完整起见,在此添加用法示例:对于一个库,请使用
suppressPackageStartupMessages(...)
,例如:对于多个库,请使用
suppressPackageStartupMessages({...})
,例如:另见:
Suppress package startup messages
2vuwiymt3#
Dirk's answer抑制所有消息,并且不特定于加载包时生成的消息。
对所问问题的更准确的解决方案是:
可以在here中找到更详细的说明
ehxuflar4#
library(ROCR, quietly = TRUE)
可能是更优雅的选项。rqcrx0a65#
如果您使用for循环加载包,那么您必须像下面显示的那样使整个循环静默,而不是在单独加载库时抑制消息。
qvsjd97n6#
通过添加
quietly = T
(如下所示)将解决此问题:如果有多个 Package ,您可以用途:
它们使用lapply,如下所示: