R で警告を抑制する方法 (例あり)


次の方法を使用して、R での警告を抑制できます。

方法 1: 特定の行の警告を削除する

 suppressWarnings(one line of code)

方法 2: 警告をグローバルに削除する

 suppressWarnings({

several lines of code
just a bunch of code
lots and lots of code

})

次の例は、次のコードで各メソッドを実際に使用する方法を示しています。これにより、2 つの警告メッセージが生成されます。

 #define character vector
x <- c('1', '2', '3', NA, '4', 'Hey')

#convert to numeric vector
x_numeric <- as. numeric (x)

#display digital vector
print (x_numeric)

Warning message:
NAs introduced by coercion 
[1] 1 2 3 NA 4 NA

#define two vectors
a <- c(1, 2, 3, 4, 5)
b <- c(6, 7, 8, 9)

#add the two vectors
a+b

[1] 7 9 11 13 11
Warning message:
In a + b: longer object length is not a multiple of shorter object length

方法 1: 特定の行の警告を削除する

assignWarnings()関数をas.numeric()関数の周囲にラップして、コードの最初の警告のみを抑制できます。

 #define character vector
x <- c('1', '2', '3', NA, '4', 'Hey')

#convert to numeric vector
suppressWarnings(x_numeric <- as.numeric (x))

#display digital vector
print (x_numeric)

[1] 1 2 3 NA 4 NA

#define two vectors
a <- c(1, 2, 3, 4, 5)
b <- c(6, 7, 8, 9)

#add the two vectors
a+b

[1] 7 9 11 13 11
Warning message:
In a + b: longer object length is not a multiple of shorter object length

最初の警告メッセージは表示されなくなりましたが、2 番目の警告メッセージは引き続き表示されることに注意してください。

方法 2: 警告をグローバルに削除する

すべての警告をグローバルに抑制するには、suppressWarnings({})関数をコード全体にラップします。

 suppressWarnings({

#define character vector
x <- c('1', '2', '3', NA, '4', 'Hey')

#convert to numeric vector
suppressWarnings(x_numeric <- as.numeric (x))

#display digital vector
print (x_numeric)

[1] 1 2 3 NA 4 NA

#define two vectors
a <- c(1, 2, 3, 4, 5)
b <- c(6, 7, 8, 9)

#add the two vectors
a+b

[1] 7 9 11 13 11

})

コード全体をsuppressWarnings({})関数で囲んでいるため、今回は警告が表示されないことに注意してください。

追加リソース

次のチュートリアルでは、R で他の一般的なタスクを実行する方法について説明します。

警告 R: getOption(“max.print”) に達しましたを回避する方法
R の処理方法 警告: glm.fit: アルゴリズムが収束しませんでした
修正方法: runtimewarning: double_scalars で無効な値が検出されました

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です