【问题标题】:Suppressing R script's output抑制 R 脚本的输出
【发布时间】:2019-05-01 14:12:18
【问题描述】:

我在 shebang 中使用 Rscript 创建一个 R 脚本并输出到标准输出。这可以正常工作,但 R 会向 stderr 输出 很多 条日志记录/调试消息(例如,其导入是否正常、各种函数的状态、今天的天气情况等)。我该如何抑制这个?

我知道suppressWarningssuppressMessages,但这些函数包含您想要静音的任何函数。我可以将整个脚本封装到一个匿名函数中,然后将其传递给这些函数,但这似乎有点奇怪。 (不过,如果这是唯一的方法,那么我想就是这样......)

另一种选择是将 R 脚本嵌入 bash 脚本并使用 bash 的 IO 重定向。同样,这似乎是一个迂回的解决方案,但我愿意接受!

我只是想知道是否有更好的方法?

【问题讨论】:

  • 在发出警告的函数上使用supressWarnings 怎么样?或者,重新配置代码以防止出现警告?

标签: r stdout stderr rscript


【解决方案1】:

如果您想完全禁止所有 stderr 消息,请将此行放在脚本的前面:

sink(file("/dev/null", "w"), type="message")

显然这对调试没有帮助...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-31
    • 2012-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-29
    • 2011-08-23
    相关资源
    最近更新 更多