まず一つの条件で絞る
iris[iris$Species=="virginica",]
複数の条件を演算子で結ぶ
iris[iris$Species=="virginica" | iris$Species=="setosa",]
ベクトルで複数条件を指定する
iris[iris$Species==c("virginica","setosa"),]
dplyrのfilterを使う
慣れるとdplyrは使い方無限大
library(dplyr)
iris %>% filter(Species == "virginica" | Species == "setosa")
もちろん一つの条件でも絞れる。
以下だと25レコードづつしかとってきてくれない。
なぜだ。
iris %>% filter(Species == c("virginica","setosa"))
match関数を使う
いちいちベクトルや演算子に記述できないほど多い条件で絞りたいときはmatch関数を使ってNAにならなかった部分を指定すると便利
よく使ってるけど、なんか汚い・・・
iris[is.na(match(iris$Species, unique(iris$Species)[c(1,3)]))==FALSE,]
以上
他にも方法あったら教えてください