Sortieren eines Datenrahmens mit Hilfe von order()
Erstellen wir einen Datenrahmen, in dem der Bevölkerungswert 10 ist. Die Variable Geschlecht besteht aus den Vektorwerten "männlich" und "weiblich", wobei mit Hilfe von sample() 10 Stichprobenwerte ermittelt werden können, während replace = TRUE nur die eindeutigen Werte erzeugt. Ebenso besteht das Alter aus Werten von 25 bis 75, zusammen mit einem Grad möglicher Werte wie c("MA", "ME", "BE", "BSCS"), die wiederum eindeutige Werte erzeugen.
Aufgabe: Sortieren der gegebenen Daten in aufsteigender Reihenfolge nach dem Alter der gegebenen Bevölkerung.
Hinweis: Die gezeigten Beispieldaten können abweichen, wenn du versuchst, sie auf deinem lokalen Rechner zu verwenden, da bei jeder Ausführung eines Codes ein einzigartiger Datenrahmen erstellt wird.
population = 10
gender=sample(c("male","female"),population,replace=TRUE)
age = sample(25:75, population, replace=TRUE)
degree = sample(c("MA","ME","BE","BSCS"), population, replace=TRUE)
(final.data = data.frame(gender=gender, age=age, degree=degree))
| Geschlecht | Alter | Grad |
|---|---|---|
| männlich | 40 | MA |
| weiblich | 57 | BSCS |
| männlich | 66 | BE |
| weiblich | 61 | BSCS |
| weiblich | 48 | MA |
| männlich | 25 | MA |
| weiblich | 49 | BE |
| männlich | 52 | ME |
| weiblich | 57 | MA |
| weiblich | 35 | MA |
Der obige Code ergibt die folgende Ausgabe, die einen neu erstellten Datenrahmen zeigt.
gender age degree
male 40 MA
female 57 BSCS
male 66 BE
female 61 BSCS
female 48 MA
male 25 MA
female 49 BE
male 52 ME
female 57 MA
female 35 MA
Lass uns den Datenrahmen in aufsteigender Reihenfolge sortieren, indem wir order() basierend auf der Variable Alter verwenden.
order(final.data$age)
Der obige Code ergibt die folgende Ausgabe:
6 10 3 9 5 8 4 2 7 1
Da das Alter 25 bei Index 6 liegt, gefolgt vom Alter 35 bei Index 10 und ähnlich, werden alle altersbezogenen Werte in aufsteigender Reihenfolge angeordnet.
Der folgende Code enthält die [] Reihenfolge mit der Variable Alter, wird verwendet, um in aufsteigender Reihenfolge zu ordnen, wobei das Geschlecht zusammen mit den Abschlussinformationen ebenfalls ausgegeben wird.
final.data[order(final.data$age),]
| Geschlecht | Alter | Grad | |
|---|---|---|---|
| 6 | männlich | 25 | MA |
| 10 | weiblich | 35 | MA |
| 1 | männlich | 40 | MA |
| 5 | weiblich | 48 | MA |
| 7 | weiblich | 49 | BE |
| 8 | männlich | 52 | ME |
| 2 | weiblich | 57 | BSCS |
| 9 | weiblich | 57 | MA |
| 4 | weiblich | 61 | BSCS |
| 3 | männlich | 66 | BE |
Der obige Code ergibt die folgende Ausgabe:
gender age degree
6 male 25 MA
10 female 35 MA
1 male 40 MA
5 female 48 MA
7 female 49 BE
8 male 52 ME
2 female 57 BSCS
9 female 57 MA
4 female 61 BSCS
3 male 66 BE
Die obige Ausgabe zeigt, dass das Alter in aufsteigender Reihenfolge zusammen mit dem entsprechenden Geschlecht angeordnet ist und die Informationen zum Abschluss erhalten werden.
Herzlichen Glückwunsch
Glückwunsch, du hast es bis zum Ende dieses Tutorials geschafft!
Du hast gelernt, wie man mit order() und seinem Argument mit den Beispielen und dem Sortieren von Vektoren mit verschiedenen Parametern und dem letzten Beispiel, das das Sortieren des Datenrahmens beinhaltet, sortiert.
Um mehr über dieses Thema zu erfahren, kannst du die Funktion Bestellen in R besuchen
Wenn du mehr über R erfahren möchtest, besuche den DataCamp-Kurs Einführung in R.

R bietet verschiedene Möglichkeiten, die Daten entweder in aufsteigender oder absteigender Reihenfolge zu sortieren. Datenanalysten und Datenwissenschaftler verwenden
order(),sort()und Pakete wiedplyr, um Daten je nach Struktur der erhaltenen Daten zu sortieren.order()kann Vektoren, Matrizen und auch Datenrahmen in auf- und absteigender Reihenfolge sortieren, was im letzten Abschnitt dieses Tutorials gezeigt wird.Syntax der
order()Die Syntax von
order()ist unten dargestellt:Das Argument oben in
order()besagt, dass:order()in RSchauen wir uns ein Beispiel für
order()in Aktion an.Der folgende Code enthält die Variable
x, die einen Vektor mit einer Liste von Zahlen enthält. Die Zahlen werden mit Hilfe vonorder(x)nach ihrem Index geordnet.Der obige Code ergibt die folgende Ausgabe:
Hier sortiert die
order()die angegebenen Zahlen nach ihrem Index in aufsteigender Reihenfolge. Da die Nummer 2 die kleinste ist, die einen Index von fünf hat, und die Nummer 4 den Index 1 hat, läuft der Prozess nach demselben Muster ab.Der obige Code ergibt die folgende Ausgabe:
Hier erfolgt die Indizierung der Reihenfolge, in der die aktuellen Werte in aufsteigender Reihenfolge gedruckt werden. Die Werte werden mit
order()nach dem Index geordnet und nach jedem Wert mity[some-value]aufgerufen.Sortiervektor mit verschiedenen Parametern in
order()Schauen wir uns ein Beispiel an, bei dem die Datensätze den Wert als Symbol NA(Nicht verfügbar) enthalten.
order(x,na.last=TRUE)
Der obige Code ergibt die folgende Ausgabe:
Auch hier sortiert
order()die angegebene Liste von Zahlen nach ihrem Index in aufsteigender Reihenfolge. Da NA vorhanden ist, wird sein Index an letzter Stelle platziert, wobei 6 aufgrund vonna.last=TRUEan letzter Stelle steht.order(x,na.last=FALSE)Der obige Code ergibt die folgende Ausgabe:
Auch hier sortiert
order()die angegebene Liste von Zahlen nach ihrem Index in aufsteigender Reihenfolge. Da NA vorhanden ist, wird sein Index, der 6 ist, aufgrund vonna.last=FALSEan erster Stelle platziert.order(x,decreasing=TRUE,na.last=TRUE)
Der obige Code ergibt die folgende Ausgabe:
Hier sortiert
order()eine gegebene Liste von Zahlen nach ihrem Index in absteigender Reihenfolge aufgrund vondecreasing=TRUE: 46. Der größte Wert steht bei Index 7 und die anderen Werte sind in absteigender Reihenfolge angeordnet. Da NA vorhanden ist, wird der Index 6 aufgrund vonna.last=TRUEan letzter Stelle platziert.order(x,decreasing=FALSE,na.last=FALSE)
Der obige Code ergibt die folgende Ausgabe:
Hier steht NA, dessen Index 6 ist, wegen
na.last=FALSEan erster Stelle.order()sortiert eine gegebene Liste von Zahlen nach ihrem Index in aufsteigender Reihenfolge wegendecreasing=FALSE: Die kleinste Zahl -4 steht auf dem Index 5 und die anderen Werte werden aufsteigend sortiert.