Wie Datenrahmen in R Subset

Nun, da Sie die Regeln für die Erstellung von Teilmengen überprüft haben, können Sie es mit einigen Datenrahmen in R. Sie versuchen, nur müssen bedenken, dass ein Datenrahmen ein zweidimensionales Objekt und enthält Zeilen sowie Spalten. Dies bedeutet, dass Sie die Teilmenge für Zeilen und Spalten unabhängig angeben müssen. Dazu kombinieren Sie die Operatoren.

Zur Veranschaulichung subsetting von Datenrahmen, haben einen Blick auf die Einbau-Dataset Iris, ein Datenrahmen von fünf Spalten und 150 Zeilen mit Daten über Iris-Blumen.

> Str (Iris) 'data.frame: 150 obs. von 5 Variablen: $ Sepal.Length: num 5,1 4,9 4,7 4,6 5 5,4 4,6 5 4,4 4,9 ... $ Sepal.Width: num 3 3.2 3.1 3.5 3.6 3.9 3.4 3.4 2.9 3.1 ... $ Petal.Length: num 1,4 1,4 1,5 1,4 1,7 1,3 1,4 1,5 1,4 1,5 ... $ Petal.Width: num 0,2 0,2 ​​0,2 ​​0,2 ​​0,2 ​​0,4 0,3 0,2 0,2 ​​0,1 ... $ Species: Faktor w / 3 Ebenen "setosa", "versicolor", ..: 1 1 1 1 1 1 1 1 1 1 ...

Wenn Sie Objekte mit mehr als einer Dimensionssubset geben Sie die Teilmenge Argument für jede Dimension - Sie trennen die Teilmenge Argumente mit Kommas.

Beispielsweise erhalten die ersten fünf Reihen Iris und alle Spalten, versuchen Sie folgendes:

> Iris [1: 5,]

Um alle Zeilen zu bekommen, aber nur zwei der Säulen, versuchen Sie folgendes:

> Iris [, c ( "Sepal.Length", "Sepal.Width")]

Sie müssen besonders darauf achten, wenn sie in einer einzigen Spalte eines Datenrahmens subsetting. Versuchen Sie Folgendes:

Iris [ 'Sepal.Length']

Sie werden sehen, dass das Ergebnis ein Vektor ist, kein Datenrahmen, wie man erwarten würde.

Wenn Subset Betrieb eine einzelne Spalte zurückgibt, ist das Standardverhalten, eine vereinfachte Version zurückzukehren. Die Art und Weise dies funktioniert, ist, dass R die Längen der zurückgegebenen Elemente untersucht. Wenn alle diese Elemente die gleiche Länge aufweisen, dann vereinfacht R das Ergebnis in einen Vektor, eine Matrix oder Array.

Im Beispiel vereinfacht R das Ergebnis in einen Vektor. Um dieses Verhalten zu ändern, müssen Sie das Argument angeben Tropfen = FALSE in Subset Betrieb:

> Iris [, 'Sepal.Length', fallen = FALSE]

Alternativ können Sie den Datenrahmen wie eine Liste der Teilmenge. Der folgende Code gibt Ihnen einen Datenrahmen mit nur einer Spalte auch:

> Iris [ 'Sepal.Length']

Schließlich eine Teilmenge von nur einigen Spalten und einige Zeilen zu erhalten:

> Iris [1: 5, c ( "Sepal.Length", "Sepal.Width")] Sepal.Length Sepal.Width1 5,1 3,52 4,9 3,03 4,7 3,24 4,6 3,15 5,0 3,6

Menü