R: Wie eine Liste von Auswahl Ausdrücke (Strings in diesem Fall) auf die Teilmenge Funktion zu übergeben?

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

  •  25-09-2019
  •  | 
  •  

Frage

Hier ist ein Beispiel Daten:

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

Was ich selektiv einzelne Zeilen herausziehen kann Teilmenge mit:

> subset (data, series == "1a")
  series reading
1     1a     0.1

und ziehen Sie mehrere Zeilen mit einem logischen ODER

> subset (data, series == "1a" | series  == "1e")
  series reading
1     1a     0.1
3     1e     0.6

Aber wenn ich eine lange Liste von Serie Ausdrücke haben, das wird wirklich ärgerlich Eingang, so dass ich es vorziehen würde sie in einer besseren Art und Weise zu definieren, so etwas wie folgt aus:

series_you_want = c("1a", "1e")  (although even this sucks a little)

und in der Lage sein, so etwas zu tun,

subset (data, series == series_you_want)

Die oben offensichtlich versagt, ich bin nur nicht sicher, was der beste Weg, dies zu tun ist?

War es hilfreich?

Lösung

Sie wollen wahrscheinlich die %in% Operator

> 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) 
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top