R:如何选择表达式(在这种情况下字符串)的列表传递给子集功能?
-
25-09-2019 - |
题
下面是一些示例性数据:
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)
在上面明明失败了,我只是不知道该怎么办的最好的办法,这是?
解决方案
您可能希望%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)
不隶属于 StackOverflow