以下是一些示例数据:
data = data.frame(series = c("1a", "1b", "1e"), reading = c(0.1, 0.4, 0.6))
> data
series reading
1 1a 0.1
2 1b 0.4
3 1e 0.6
我可以使用子集提取选择性单行:
> subset (data, series == "1a")
series reading
1 1a 0.1
使用逻辑OR
拉出多行> subset (data, series == "1a" | series == "1e")
series reading
1 1a 0.1
3 1e 0.6
但是如果我有很长的系列表达式列表,那么输入会非常烦人,所以我更喜欢用更好的方式定义它们,如下所示:
series_you_want = c("1a", "1e") (although even this sucks a little)
并且可以做这样的事情,
subset (data, series == series_you_want)
以上显然都失败了,我只是不确定最好的办法是什么?
答案 0 :(得分:1)
您可能需要%in%
运算符
> dat <- data.frame(series = c("1a", "1b", "1e"), reading = c(0.1, 0.4, 0.6))
> series_you_want <- c("1a", "1e")
> subset(dat, series %in% series_you_want)