which()

条件に該当するデータのインデックスを返す

which(x$amount < 0)

複数の条件を組み合わせてデータを抽出したい場合に、いちどに式を記述するのは可読性が悪くなるだけでなく、エラーも発生しやすい。

そこで、条件に該当するレコードのインデックスの集合ベクトルを生成して、これらをAND条件で組み合わせると、目的が達成できる。

minus_num <- which(x$amount <0)  # 負の値を持つレコードのインデックス
over_threshold <- which(x$amount > 100)  # 100より大きな値のインデックス
関係する
  • any() - 一つでもTRUEがあるか
  • all() - すべてがTRUEか