Given a data frame "foo", how can I select only those rows from "foo" where e.g. foo$location = "there"?
foo = data.frame(location = c("here", "there", "here", "there", "where"), x = 1:5, y = 6:10)
foo
# location x y
# 1 here 1 6
# 2 there 2 7
# 3 here 3 8
# 4 there 4 9
# 5 where 5 10
Desired result, "bar":
# location x y
# 2 there 2 7
# 4 there 4 9
Here are the two main approaches. I prefer this one for its readability:
Note that you can string together many conditionals with
&and|to create complex subsets.The second is the indexing approach. You can index rows in R with either numeric, or boolean slices.
foo$location == "there"returns a vector ofTandFvalues that is the same length as the rows offoo. You can do this to return only rows where the condition returns true.