Code Fix

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

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

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

 1  ages <- c(15, NA, 22, 40, 8)
 2  adults <- ages[_________________]
                           ^
 3  cat(adults, "\n")
出力: NA 22 40

空欄を埋めて実行を通す

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

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

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

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

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