R: ¿Cómo pasar una lista de expresiones de selección (cadenas en este caso) a la función subconjunto?
-
25-09-2019 - |
Pregunta
A continuación, algunos datos ejemplo:
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
que puedo extraer filas individuales selectivos usando subconjunto:
> subset (data, series == "1a")
series reading
1 1a 0.1
y sacar varias filas utilizando un OR lógico
> subset (data, series == "1a" | series == "1e")
series reading
1 1a 0.1
3 1e 0.6
Pero si tengo una larga lista de expresiones de la serie, esto se pone muy molesto para la entrada, por lo que prefiero definir de una manera mejor, algo como esto:
series_you_want = c("1a", "1e") (although even this sucks a little)
y ser capaz de hacer algo como esto,
subset (data, series == series_you_want)
Lo anterior obviamente no, pero no estoy seguro de cuál es la mejor manera de hacer esto es?
Solución
Probablemente desee el operador %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)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow