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


174

いくつかの警告をスローする長いRスクリプトがありますが、無視してかまいません。私は使うことができた

suppressWarnings(expr)

単一のステートメント。しかし、Rの警告をグローバルに抑制するにはどうすればよいですか?これにはオプションがありますか?

回答:


228

あなたは使うことができます

options(warn=-1)

ただし、警告メッセージをグローバルにオフにすることはお勧めできない場合があることに注意してください。

警告をオンに戻すには、

options(warn=0)

(またはあなたのデフォルトが何であれ、この答えをwarn見てください)


5
これは機能しますが、2015年9月22日からのFrancesco Napolitanoのアプローチは、より安全で、よりグローバルに適用できる方法です。
アンディクリフトン

@Andyに同意します。彼の回答は承認済みとしてマークする必要があります。
JASC 2019

105

あなたが欲しいoptions(warn=-1)。ただし、warn=0これは最も安全な警告レベルではなく、特にスクリプトまたは関数内では、現在の警告レベルと見なすべきではありません。したがって、警告を一時的にオフにする最も安全な方法は次のとおりです。

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

[your "silenced" code]

options(warn = oldw)

41

printf呼び出しをwarningCコードのへの呼び出しに置き換えました。明日の夜に利用可能になるバージョン2.17.2で有効になります。次に、suppressWarnings()または上記の他の方法のいずれかによる警告を回避できるはずです。

suppressWarnings({ your code })

6
これが正しい方法です。回答としてマークする必要があります。
Denis

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.