GNU R: order
Der Befehl order(OBJEKT$x)
ordnet den Datensatz OBJEKT
anhand des dort enthaltenen metrischen Vektor x
in aufsteigender Reihenfolge.
Handhabung
[Bearbeiten]Wir bedienen uns nun des Datensatzes aus Beispiels 4.
Angenommen wir wollen bsp4
nach dem Einkommen sortieren, bewerkstelligen wir dies über den Umweg der numerischen Indize der Fälle (Zeilen). order
gibt als Ergebnis einen Vektor zurück, der die Stelle enthält, an der die umsortierten Vektorelemente ursprünglich waren.
> order(bsp4$Einkommen) [1] 2 5 6 1 7 3 4
Diese Information lässt sich für Datensätze auch folgendermassen lesen: Der 2. Fall (Caro) hat das niedrigste Einkommen, das zweitniedrigste Einkommen hat der 5. Fall (Samira), usw. Diesen geordneten Indexvektor kann man nun entsprechend den obigen Referenzierungsregeln verwenden, um den Gesamtdatensatz sortiert auszugeben.
> bsp4[order(bsp4$Einkommen),] Name Geschlecht Lieblingsfarbe Einkommen 2 Caro weiblich blau 800 5 Samira weiblich gelb 899 6 Peter maennlich gruen 1100 1 Hans maennlich gruen 1233 7 Sarah weiblich blau 1900 3 Lars wechselnd gelb 2400 4 Ines weiblich schwarz 4000
Soll der Datensatz anhand des Einkommens in absteigender Reihenfolge sortiert werden, ist der Befehl wie folgt zu erweitern:
> order(bsp4$Einkommen, decreasing = TRUE)
Ein weiteres Beispiel soll die Sortierung nach mehreren Kriterien verdeutlichen. Angenommen wir wollen zunächst nach Geschlecht und innerhalb der Geschlechtergruppen als 2. Sortierungsregel nach dem Einkommen sortieren.
Hierzu werden Variablen, in der Reihenfolge die der "Sortierungs-Hierarchie" entspricht, hintereinander order
übergeben. Für die nominale Variable Geschlecht liefert order
eine alphabetische Sortierung. Somit kann der nach beiden Bedingungen sortierte Datensatz ausgeben werden:
> bsp4[order(bsp4$Geschlecht, bsp4$Einkommen),] Name Geschlecht Lieblingsfarbe Einkommen 3 Lars wechselnd gelb 2400 6 Peter maennlich gruen 1100 1 Hans maennlich gruen 1233 2 Caro weiblich blau 800 5 Samira weiblich gelb 899 7 Sarah weiblich blau 1900 4 Ines weiblich schwarz 4000
siehe auch
[Bearbeiten]sort()
zum sortieren eines Vektors