Subset


Zurück
R – Einführung
8:32
Download von R
2:11
Erste Schritte und Rechenregeln in R
8:53
Klassische Rechenoperationen in R
4:33
Spezielle Rechenoperationen – Logarithmus
7:02
Boolesche Operatoren
4:25
Variablen
5:13
Vektor-Indexierung
4:12
Runden
3:50
Datentypen
5:42
Datenformen
3:23
Samples
4:24
Subset
5:43
dat-Dateien laden
0:45
Umgang mit Vektoren
5:45
Umgang mit Vektoren – Details
3:10
CBIND & RBIND
2:54
Zahlenreihen
7:19
Dataframe-Indexierung
5:10
Überblick verschaffen
7:23
Datensatz vorbereiten
5:51
Daten manipulieren
8:45
Deskriptive Statistik – Grundlagen
7:45
Deskriptive Statistik – Mittelwert und Co.
5:00
Grundlagen der Visualisierung
10:02
Histogramme
8:30
Boxplot
7:12
Scatterplot
5:47
Plots kombinieren
9:38
weitere Visualisierungen
3:05

In dieser Session wollen wir lernen, wie wir unsere Daten filtern können. Dies ist nützlich, um unsere Daten in Teildatensätze zu zerlegen, wenn wir z.B. nur bestimmte Untergruppen (Altersgruppen, etc.) analysieren wollen.

Die subset-Funktion

Als Basisfunktion zur Filterung von Daten in R steht uns die subset()-Funktion zur Verfügung. Wir müssen an diese Funktion 2 Hauptargumente übergeben:

– das gewünschte Datenset, welches gefiltert werden soll

– wonach das Datenset gefiltert werden soll

Zuerst erstellen wir uns wieder ein Dataframe:

Data <- mtcars
head(mtcars)
##                    mpg cyl disp  hp drat    wt  qsec vs am gear carb
## Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
## Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
## Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
## Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
## Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
## Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1

Nun wollen wir beginnen, das Datenset zu filtern. Hierzu benötigen wir die Vergleichsoperatoren, die wir bereits kennengelernt haben:

  • ist gleich: ==
  • ist nicht gleich: !=
  • kleiner als: <
  • größer als: >
  • kleiner gleich: <=
  • größer gleich: >=

Zuerst wollen wir Data nach Autos filtern, welche 150 PS (“hp”) oder mehr haben:

PS.150 <- subset(Data, hp >= 150)
head(PS.150)
##                     mpg cyl  disp  hp drat   wt  qsec vs am gear carb
## Hornet Sportabout  18.7   8 360.0 175 3.15 3.44 17.02  0  0    3    2
## Duster 360         14.3   8 360.0 245 3.21 3.57 15.84  0  0    3    4
## Merc 450SE         16.4   8 275.8 180 3.07 4.07 17.40  0  0    3    3
## Merc 450SL         17.3   8 275.8 180 3.07 3.73 17.60  0  0    3    3
## Merc 450SLC        15.2   8 275.8 180 3.07 3.78 18.00  0  0    3    3
## Cadillac Fleetwood 10.4   8 472.0 205 2.93 5.25 17.98  0  0    3    4

Nun suchen wir die Autos die weniger als 5 Gänge (“gear”) besitzen:

Gear <- subset(Data, gear < 5)
head(Gear)
##                    mpg cyl disp  hp drat    wt  qsec vs am gear carb
## Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
## Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
## Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
## Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
## Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
## Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1

Und jetzt wollen wir noch ein Auto finden, welches genau 360 km/h auf dem Display stehen hat:

Display.360 <- subset(Data, disp == 360)
head(Display.360)
##                    mpg cyl disp  hp drat   wt  qsec vs am gear carb
## Hornet Sportabout 18.7   8  360 175 3.15 3.44 17.02  0  0    3    2
## Duster 360        14.3   8  360 245 3.21 3.57 15.84  0  0    3    4

Kombinationen der Vergleichsoperatoren

Wir können in einem Schritt natürlich auch nach mehreren Kriterien filtern. Hierzu benötigen wir 2 weitere wichtige Operatoren:

  • und: &
  • oder: | (Tastenkombination: AltGr + <)

Wir wollen nun nach Autos suchen, welche weniger als 18 Meilen pro Gallone Treibstoff (“mpg”) fahren und genau 4 Gänge haben:

MPG <- subset(Data, mpg <= 18 & gear == 4)
head(MPG)
##            mpg cyl  disp  hp drat   wt qsec vs am gear carb
## Merc 280C 17.8   6 167.6 123 3.92 3.44 18.9  1  0    4    4

Den Möglichkeiten der Kombinationen sind hier keine Grenzen gesetzt. Ihr könnt also nicht nur zwei sondern auch weitaus mehr Kombinationen von Vergleichsoperatoren zum filtern der Daten verwenden.

Skripte, Audio (Stream & Download)
Bitte melde dich an, um diesen Inhalt zu sehen.,
Login | Jetzt registrieren