R: Как передать список выражений выбора (в данном случае это строки) в функцию подмножества? - PullRequest
1 голос
/ 09 апреля 2010

Вот некоторые примеры данных:

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

И извлечь несколько строк, используя логическое ИЛИ

> 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)

Выше явно не удается, я просто не уверен, что лучший способ сделать это?

1 Ответ

1 голос
/ 09 апреля 2010

Возможно, вам нужен оператор %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) 
...