【问题标题】:How to suppress warning messages when loading a library?加载库时如何抑制警告消息?
【发布时间】:2013-09-21 09:23:25
【问题描述】:

我正在尝试从命令行运行 r 脚本,但在加载包时收到警告消息:

C:\Temp>Rscript myscript.r param
Warning message:
package 'RODBC' was built under R version 3.0.1
Warning message:
package 'ggplot2' was built under R version 3.0.1
Warning message:
package 'reshape2' was built under R version 3.0.1
Warning message:
package 'lubridate' was built under R version 3.0.1
Warning message:
package 'scales' was built under R version 3.0.1

我尝试使用suppressPackageStartupMessages:

suppressPackageStartupMessages(library(RODBC))

或supressMessages

suppressMessages(library(RODBC))

但这些并没有抑制这些消息。如何摆脱这些警告?

【问题讨论】:

  • 如果您想删除消息,最好的解决方案是重新安装这些软件包。它们无论如何都不会在 R >= 3.0 下工作。
  • 我无法尝试,但suppressWarnings(library(RODBC)) 应该可以。但我建议听从@zero323 的建议。
  • 我认为您需要更新 R。显然您使用的是
  • 是的,我使用的是 3.0.0 版。但无论如何,当目前无法升级时,如何抑制这些消息?

标签: r


【解决方案1】:

这些不是消息,而是警告。你可以这样做:

suppressWarnings(library(RODBC))

或

suppressWarnings(suppressMessages(library(RODBC)))

抑制这两种类型。

【讨论】:

    【解决方案2】:

    我把它放在我所有脚本的顶部,并在我的库加载前加上它:

    shhh <- suppressPackageStartupMessages # It's a library, so shhh!
    

    那么你就可以这样加载库了:

    shhh(library(tidyverse))
    

    并依靠完美的沉默。

    【讨论】:

    • "这是一个图书馆,嘘!" ?
    【解决方案3】:

    你可以使用:

    options(warn=-1)
    

    恢复正常:

    options(warn=0)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-20
      • 1970-01-01
      • 1970-01-01
      • 2012-10-26
      • 2021-07-17
      • 2012-02-09
      相关资源
      最近更新 更多