GNU R: subset

Aus Wikibooks

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

Handhabung[Bearbeiten]

subset(Daten, Bedingung)

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

Beispiel[Bearbeiten]

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ößere 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] 1649.75 
> mean(maenner$Einkommen)
[1] 1166.5