Undefinierte Spalten, die beim Untersetzen des Datenrahmens ausgewählt wurden


79

Ich habe einen Datenrahmen. str(data)Um mehr über meinen Datenrahmen zu erfahren, ist das Ergebnis wie folgt:

> str(data)
'data.frame':   153 obs. of  6 variables:
$ Ozone  : int  41 36 12 18 NA 28 23 19 8 NA ...
$ Solar.R: int  190 118 149 313 NA NA 299 99 19 194 ...
$ Wind   : num  7.4 8 12.6 11.5 14.3 14.9 8.6 13.8 20.1 8.6 ...
$ Temp   : int  67 72 74 62 56 66 65 59 61 69 ...
$ Month  : int  5 5 5 5 5 5 5 5 5 5 ...
$ Day    : int  1 2 3 4 5 6 7 8 9 10 ...

Wenn ich jedoch zum Beispiel die Beträge von Ozoneüber 14 unterteilen möchte, verwende ich den folgenden Code, der mir einen Fehler gibt:

>  data[data$Ozone > 14 ]

Fehler in [.data.frame(Daten, Daten $ Ozone> 14): undefinierte Spalten ausgewählt


11
Ihnen fehlt ein Komma. Der Fehler weist Sie darauf hin, dass Sie nicht angegeben haben, welche Spalten in Ihre Teilmenge aufgenommen werden sollen.
Ricardo Saporta

1
Mit anderen Worten, denken Sie daran, dass Datenrahmenreferenzen Zeilen- und Spaltenkennungen benötigen. Sie können nur eine Spalte oder alle Spalten auswählen, müssen jedoch angeben, was Sie möchten.
Scott C Wilson

6
Ich arbeite an der gleichen Aufgabe, also weiß ich, dass dies Hausaufgaben sind. Schwache Soße.
Brian MacKay

Antworten:


152

Sie möchten Zeilen, in denen diese Bedingung erfüllt ist, also benötigen Sie ein Komma:

data[data$Ozone > 14, ]

18
Warum ... diese Syntax macht für mich keinen Sinn
Reinderien

3
@ Reinderien Es ist eine übliche Art, Arrays zu indizieren. Schauen Sie sich die R-Dokumentation der alten Schule an, die wirklich gut darin ist, Datenstrukturen zu unterrichten.
Ari B. Friedman

2
Ich bekomme alles außer dem Komma.
Reinderien

11
dat[ 1, 2 ]gibt Ihnen den Eintrag in der ersten Zeile, zweiten Spalte. dat[ 1, ]gibt Ihnen jeden Eintrag in der ersten Zeile. dat[ 1:5, ]gibt Ihnen jede Spalte der Zeilen 1-5.
Ari B. Friedman

6
Es ist 153 x 6, das sind zwei Dimensionen.
Ari B. Friedman
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.