相关疑难解决方法(0)

加载包时禁用消息

我有一个R(ROCR)包我需要在我的R环境中加载.加载包后,将打印一组消息.这通常很好,但由于我的R脚本的输出用于进一步分析,我想完全禁用所有这些输出.我怎么做?此外,我更愿意这样做而不必修改ROCR,因此该脚本的未来用户也不必这样做.

至今:

  • sink()在这里不起作用 - 重定向stdout和std err /dev/null对我没有任何作用.
  • 不出所料,options(warnings=-1)也没有做任何事情,因为这些不是警告,本身就是印刷品.

有什么想法吗?

r messages

81
推荐指数
3
解决办法
4万
查看次数

调用 sink() 后没有出现 R 输出

我有一组复杂的 R 脚本,并决定将所有与调试相关的消息称为 via message()。我试图找到一种方法来抑制所有消息,并偶然发现了这篇SO post,它建议我尝试使用sink(). 因此,我将以下代码行插入到我的脚本中,并设置了我的config$debug_mode <- FALSE

if (!config$debug_mode){
  messages <- file("messages.Rout", open = "wt")
  sink(messages, type = "message")
}
Run Code Online (Sandbox Code Playgroud)

另一个 SO 帖子和 R 文档说只需调用sink()sink(file=NULL)停止之前的转移,但这对我不起作用。即使在调用 之后sink(),我也没有看到我的message()调用中的 R Studio 控制台输出。此外,sink.number()返回0,这似乎表明没有转移。那么,为什么我不再在 R Studio 控制台中看到输出?

r rstudio

3
推荐指数
1
解决办法
1430
查看次数

标签 统计

r ×2

messages ×1

rstudio ×1