R: ¿Cómo pasar una lista de expresiones de selección (cadenas en este caso) a la función subconjunto?

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

  •  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?

¿Fue útil?

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
scroll top