GNU R: subset

Aus Wikibooks

Wechseln zu: Navigation, Suche
Nuvola apps bookcase.svg EDV Nuvola apps bookcase 1.svg GNU RNuvola mimetypes dvi.png Befehlsübersicht

Mit subset() lässt sich eine Teilgruppe von Daten aus einem data.frame bilden.

[Bearbeiten] Handhabung

subset(Daten, Bedingung)

Der Funktion wird als erstes Argument ein Datenframe übergeben, und als zweites die Filter-Bedingung.

[Bearbeiten] Beispiel

Wir bedienen uns des Datensatzes aus Beispiel 4 (bsp4). Eine Frage könnte etwa sein, inwieweit sich die Einkommen von Männern und Frauen in unserem Bekanntenkreis unterscheiden.

> subset(bsp4, bsp4$Geschlecht=="weiblich")
    Name Geschlecht Lieblingsfarbe Einkommen
2   Caro   weiblich           blau       800
4   Ines   weiblich        schwarz      3000
5 Samira   weiblich           gelb       899
7  Sarah   weiblich           blau      1900

Wir interessieren uns nur für das Einkommen der Frauen:

> subset(bsp4$Einkommen,bsp4$Geschlecht=="weiblich")
[1] 800  3000 899  1900

Wenn bsp4 eine grössere Fallzahl umfassen würde, wäre diese Liste viel zu lang. Wir würden für einen ersten Eindruck über die Einkommensunterschiede auf das arithmetische Mittel ausweichen:

> mean(subset(bsp4$Einkommen, bsp4$Geschlecht=="weiblich"))
[1] 1649.75                                       
> mean(subset(bsp4$Einkommen, bsp4$Geschlecht=="maennlich"))
[1] 1166.5


Das selbe Ergebnis lässt sich durch Definition von Teilgruppen erzielen:

> frauen <- subset(bsp4,bsp4$Geschlecht=="weiblich")
> maenner <- subset(bsp4,bsp4$Geschlecht=="maennlich")
> mean(frauen$Einkommen)
[1] 1899.75
> mean(maenner$Einkommen)
[1] 1166.5


Nuvola apps bookcase.svg EDV Nuvola apps bookcase 1.svg GNU RNuvola mimetypes dvi.png Befehlsübersicht
Persönliche Werkzeuge