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
И вытащить несколько строк, используя логическую или
> 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