web-dev-qa-db-ja.com

Rスクリプトでグローバルに警告を抑制する方法

私は無視することができるいくつかの警告を投げる長いRスクリプトを持っています。私は使うことができます

suppressWarnings(expr)

単一文用です。しかし、どうすればグローバルにRの警告を抑制できますか?このための選択肢はありますか?

145
Richard

あなたが使用することができます

options(warn=-1)

ただし、警告メッセージをグローバルにオフにすることはお勧めできません。

警告を元に戻すには、

options(warn=0)

(あるいはあなたのデフォルトがwarnのものであれば、 この答え を参照)

201
sieste

options(warn=-1)が欲しいです。ただし、warn=0は最も安全な警告レベルではないため、特にスクリプトや関数の中では、現在のレベルと見なさないでください。したがって、警告を一時的に無効にする最も安全な方法は次のとおりです。

oldw <- getOption("warn")
options(warn = -1)

[your "silenced" code]

options(warn = oldw)
88

Cコードのprintf呼び出しをwarningへの呼び出しに置き換えました。それは明日の夜に利用可能になるはずのバージョン2.17.2で有効になるでしょう。そうすればsuppressWarnings()や他の上記の方法で警告を回避できるはずです。

suppressWarnings({ your code })
13
Bernd Fischer

?optionsを見てwarnを使用してください。

options( warn = -1 )
8
Simon O'Hanlon