Direkt zum Inhalt
HeimAnleitungenR Programmierung

Sortieren in R mit order() Tutorial

In diesem Lernprogramm lernst du, wie du mit order() sortieren kannst. Wir werden lernen, wie man Vektoren mit verschiedenen Parametern sortiert, wie man Datenrahmen sortiert und vieles mehr.
Aktualisierte 11. Sept. 2024  · 6 Min. lesen

R bietet verschiedene Möglichkeiten, die Daten entweder in aufsteigender oder absteigender Reihenfolge zu sortieren. Datenanalysten und Datenwissenschaftler verwenden order(), sort() und Pakete wie dplyr, 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:

order(x, decreasing = TRUE or FALSE, na.last = TRUE or FLASE, method = c("auto", "shell", "quick", "radix"))

Das Argument oben in order() besagt, dass:

  • x: Daten-Frames, Matrizen oder Vektoren
  • decreasing: boolescher Wert; TRUE dann in absteigender Reihenfolge sortieren oder FALSE dann in aufsteigender Reihenfolge sortieren.
  • na.last: boolescher Wert; TRUE dann werden NA-Indizes an letzter Stelle gesetzt oder FLASE DANN werden NA-Indizes an erster Stelle gesetzt.
  • method: Sortiermethode, die verwendet werden soll.

order() in R

Schauen 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 von order(x) nach ihrem Index geordnet.

y = c(4,12,6,7,2,9,5)
order(y)

Der obige Code ergibt die folgende Ausgabe:

5 1 7 3 4 6 2

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.

y = c(4,12,6,7,2,9,5)
y[order(y)]

Der obige Code ergibt die folgende Ausgabe:

2 4 5 6 7 9 12

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 mit y[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)

x <- c(8,2,4,1,-4,NA,46,8,9,5,3)
order(x,na.last = TRUE)

Der obige Code ergibt die folgende Ausgabe:

5 4 2 11 3 10 1 8 9 7 6

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 von na.last=TRUE an letzter Stelle steht.

order(x,na.last=FALSE)

order(x,na.last=FALSE)

Der obige Code ergibt die folgende Ausgabe:

6 5 4 2 11 3 10 1 8 9 7

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 von na.last=FALSE an erster Stelle platziert.

order(x,decreasing=TRUE,na.last=TRUE)

order(x,decreasing=TRUE,na.last=TRUE)

Der obige Code ergibt die folgende Ausgabe:

7 9 1 8 10 3 11 2 4 5 6

Hier sortiert order() eine gegebene Liste von Zahlen nach ihrem Index in absteigender Reihenfolge aufgrund von decreasing=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 von na.last=TRUE an letzter Stelle platziert.

order(x,decreasing=FALSE,na.last=FALSE)

order(x,decreasing=FALSE,na.last=FALSE)

Der obige Code ergibt die folgende Ausgabe:

6 5 4 2 11 3 10 1 8 9 7

Hier steht NA, dessen Index 6 ist, wegen na.last=FALSE an erster Stelle. order() sortiert eine gegebene Liste von Zahlen nach ihrem Index in aufsteigender Reihenfolge wegen decreasing=FALSE: Die kleinste Zahl -4 steht auf dem Index 5 und die anderen Werte werden aufsteigend sortiert.

R kostenlos lernen

Einführung in R

BeginnerSkill Level
4
2.7M learners
Beherrsche die Grundlagen der Datenanalyse in R, einschließlich Vektoren, Listen und Datenrahmen, und übe R mit echten Datensätzen.
See DetailsRight Arrow

Zwischenstufe R

BeginnerSkill Level
6
590K learners
Setze deine Reise zum R-Ninja fort, indem du etwas über bedingte Anweisungen, Schleifen und Vektorfunktionen lernst.

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.

Themen

R Kurse

Zertifizierung verfügbar

Course

Einführung in R

4 hr
2.7M
Beherrsche die Grundlagen der Datenanalyse in R, einschließlich Vektoren, Listen und Datenrahmen, und übe R mit echten Datensätzen.
See DetailsRight Arrow
Start Course
Mehr anzeigenRight Arrow