R: Как пройти список выражений выбора (строки в этом случае) в функцию подмножества?

StackOverflow https://stackoverflow.com/questions/2609647

  •  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

И вытащить несколько строк, используя логическую или

> 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) 
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top