Rで修正する方法: true/falseが必要な場所に値がありません
R で発生する可能性のあるエラーは次のとおりです。
Error in if (x[i] == NA) {: missing value where TRUE/FALSE needed
このエラーは、R のifステートメントで構文x == NAを使用して値を NA と比較すると発生します。
ifステートメントは TRUE または FALSE 値を期待するため、この関数は常に TRUE または FALSE を返すため、代わりにis.na(x)を使用する必要があります。
エラーを再現する方法
R のベクトル内の値のリストを反復処理し、ベクトル内に NA 値があるたびに「欠落」という単語を出力しようとしているとします。
#define vector with some missing values x <- c(2, NA, 5, 6, NA, 15, 19) #loop through vector and print "missing" each time an NA value is encountered for (i in 1:length(x)) { if (x[i] == NA) { print(' Missing ') } } Error in if (x[i] == NA) {: missing value where TRUE/FALSE needed
構文x[i] == NAを使用したため、エラーが発生します。
エラーを修正する方法
次のように構文をis.na(x)に変更する必要があります。
#define vector with some missing values x <- c(2, NA, 5, 6, NA, 15, 19) #loop through vector and print "missing" each time an NA value is encountered for (i in 1:length(x)) { if (is. na (x[i])) { print(' Missing ') } } [1] “Missing” [1] “Missing”
エラーは表示されず、ベクトル内で NA 値が見つかった場合は常に「missing」という単語を出力できることに注意してください。
追加リソース
次のチュートリアルでは、R の他の一般的なエラーを修正する方法について説明します。
修正方法: 強制によって導入された NA
修正方法: マトリックスのインデックスの数が正しくありません
修理方法: 交換するアイテムの数が交換の長さの倍数ではない