Code Fix

中級 › which() の戻り値と論理ベクトルによる添字指定を混同するとずれる › パターン3

which() の戻り値と論理ベクトルによる添字指定を混同するとずれる

which(条件)は条件を満たす要素の「位置(添字番号)」を返しますが、条件そのもの(論理ベクトル)を直接添字として使うのとは意味が違います。

 1  amounts <- c(200, NA, 50, 400, NA)
 2  big <- amounts[_____________________]
                             ^
 3  cat(big, "\n")
出力: 200 NA 400 NA

空欄を埋めて実行を通す

広告
広告スロット(未設定)

which() の戻り値と論理ベクトルによる添字指定を混同するとずれる

which()の結果をさらに論理ベクトルとして使うと、位置の数値がTRUE/FALSEとして解釈され、意図と違う要素が選ばれます。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)