RのDataframeから条件に一致する行を抽出する(OR抽出)

Rのデータフレームから、条件に一致する行を抜き出します。

データフレームの作成

fruits <- c("みかん", "りんご", "バナナ", "オレンジ", "みかん", "バナナ", "みかん", "りんご", "オレンジ")
amount <- c(100, 20, 30, 20, 50, 60, 20, 50, 20)
country <- c("神奈川", "青森", "フィリピン", "アメリカ", "和歌山", "タイ", "愛媛", "山形", "メキシコ")
df <- data.frame(fruits, amount, country)
df

出力

    fruits amount    country
1   みかん    100     神奈川
2   りんご     20       青森
3   バナナ     30 フィリピン
4 オレンジ     20   アメリカ
5   みかん     50     和歌山
6   バナナ     60       タイ
7   みかん     20       愛媛
8   りんご     50       山形
9 オレンジ     20   メキシコ

amount > 50の行のみ抽出

df[amount>50,]

出力

  fruits amount country
1 みかん    100  神奈川
6 バナナ     60    タイ

みかんとオレンジのみ抽出

df[df$fruits %in% c("みかん", "オレンジ"),]

出力

    fruits amount  country
1   みかん    100   神奈川
4 オレンジ     20 アメリカ
5   みかん     50   和歌山
7   みかん     20     愛媛
9 オレンジ     20 メキシコ

%in%を使ったORでの抽出条件の指定方法が便利。