114

R環境にロードする必要のあるR(ROCR)のパッケージがあります。パッケージをロードすると、一連のメッセージが出力されます。これは通常は問題ありませんが、Rスクリプトの出力がさらなる分析に使用されているため、この出力をすべて完全に無効にします。それ、どうやったら出来るの?さらに、ROCRをまったく変更せずに実行したいので、このスクリプトの将来のユーザーも変更する必要はありません。

ここのところ:

  • sink()ここでは機能しません-stdoutとstderrの両方をリダイレクトし/dev/nullても何も起こりません。
  • 当然のことながら、options(warnings=-1)これらはそれ自体が印刷される警告ではないため、何もしません。

何かご意見は?

4

5 に答える 5

165

電話suppressMessages()の周りで使用するだけです。library()

edd@max:~$ R

R version 2.14.1 (2011-12-22)
Copyright (C) 2011 The R Foundation for Statistical Computing
ISBN 3-900051-07-0
Platform: x86_64-pc-linux-gnu (64-bit)
[...]

R> suppressMessages(library(ROCR))
R>                                               # silently loaded
R> search() 
 [1] ".GlobalEnv"         "package:ROCR"         # it's really there      
 [3] "package:gplots"     "package:KernSmooth"
 [5] "package:grid"       "package:caTools"   
 [7] "package:bitops"     "package:gdata"     
 [9] "package:gtools"     "package:stats"     
[11] "package:graphics"   "package:grDevices" 
[13] "package:utils"      "package:datasets"  
[15] "package:methods"    "Autoloads"         
[17] "package:base"      
R> 
于 2011-12-30T16:48:51.117 に答える
29

Dirkの答えはすべてのメッセージを抑制し、パッケージのロード中に生成されるメッセージに固有のものではありません。

尋ねられた質問に対するより正確な解決策は次のとおりです。

suppressPackageStartupMessages(library(THE_PACKAGE_NAME))

もう少し詳細な説明はここにあります

于 2018-07-16T07:32:41.523 に答える
27

を使用して、 MehradMahmoudiansuppressPackageStartupMessagesによる回答を参照してください。完全を期すために、ここに使用例を追加します。

1つのライブラリにはsuppressPackageStartupMessages(...)、たとえば次のように使用します。

suppressPackageStartupMessages(library(ggplot2))

複数のライブラリの場合suppressPackageStartupMessages({...})は、次に例を使用します。

suppressPackageStartupMessages({
    library(ggplot2)
    library(ggdendro)
})

関連項目:
パッケージの起動メッセージを抑制します

于 2019-11-13T19:09:24.480 に答える
3

library(ROCR, quietly = TRUE)よりエレガントなオプションかもしれません。

于 2018-05-05T20:53:46.613 に答える
3

quietly = T以下に示すように追加することで、問題が解決します。

suppressWarnings(suppressMessages(library("dplyr", quietly = T)))

複数のパッケージの場合は、以下を使用できます。

## specify the package names
PKGs <- c("affy","gcrma","readxl","ggplot2","lattice" )

そしてそれらは以下のようにlapplyを使用します:

lapply(PKGs, library, character.only = TRUE ,quietly = T)
于 2018-09-25T06:46:02.847 に答える