R: Come passare un elenco di espressioni di selezione (stringhe in questo caso) alla funzione sottoinsieme?
-
25-09-2019 - |
Domanda
Ecco alcuni dati esempio:
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
Il che posso tirare fuori selettivi file singole utilizzando sottoinsieme:
> subset (data, series == "1a")
series reading
1 1a 0.1
e tirare fuori più righe utilizzando una logica OR
> subset (data, series == "1a" | series == "1e")
series reading
1 1a 0.1
3 1e 0.6
Ma se ho una lunga lista di espressioni serie, questo diventa davvero fastidioso all'ingresso, quindi preferisco definirli in un modo migliore, qualcosa di simile a questo:
series_you_want = c("1a", "1e") (although even this sucks a little)
ed essere in grado di fare qualcosa di simile,
subset (data, series == series_you_want)
È possibile che questo, ovviamente, non funziona, solo che non sono sicuro di quello che il modo migliore per farlo è?
Soluzione
Probabilmente si desidera l'operatore %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)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow