1

以下是一些示例数据:

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)

以上显然失败了,我只是不确定最好的方法是什么?

4

1 回答 1

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) 
于 2010-04-09T17:54:20.447 回答