Daten in R sortieren

von | Zuletzt bearbeitet am: Sep 30, 2022 | Daten aufbereiten, R


In R kann man den Datensatz anhand einer Variable sortieren. Eine mehrstufige Sortierung ist ebenso möglich. Dies kann im Vorfeld einer Analyse zur visuellen Prüfung des Datensatzes verwendet werden oder aber auch zum Export nach der Sortierung.
R bietet zudem die Möglichkeit, verschiedene Sortierverfahren anzuwenden, die bei sehr großen Datensätzen schneller sind. Dies fällt im typischen Anwendungsfall nicht ins Gewicht, weshalb dies hier nicht weiter thematisiert wird.

1 Einfaches Sortieren

1.1 Aufsteigende Sortierung

Das einfache oder einstufige Sortieren ist der Standardfall in R.

  • Hierzu verwendet man die order()-Funktion.
  • Man kann sowohl den bisherigen Data Frame (im Beispiel df) umsortieren als auch einen neuen sortierten Data Frame (df2) erstellen.
  • Der Befehl order() wird stets innerhalb des bisherigen Data Frames angewendet und sortiert nach der Sportnote (z.B. order(df$Sportnote)).
  • Die Sortierung ist immer aufsteigend, also von der kleinsten zur größten Zahl.
  • Schließlich muss ein Komma nach der order()-Funktion stets gesetzt sein.

# Bisherigen Data Frame sortieren
df <- df[order(df$Sportnote),]
# Neuen Data Frame erstellen und diesen sortieren
df2 <- df[order(df$Sportnote),]

 

1.2 Absteigende Sortierung

Um statt der standardmäßigen aufsteigenden Sortierung absteigend zu sortieren, wird vor die zu sortierende Variable einfach ein "-" gesetzt.


# Absteigend nach Sportnote sortieren
df <- df[order(-df$Sportnote),]

 

2 Mehrstufiges Sortieren

Das Ziel des mehrstufigen Sortierens ist zunächst nach einer Variable zu sortieren und anschließend innerhalb dessen nach einer anderen Variable. Beispiel: Es wird aufsteigend nach Sportnote sortiert und dann absteigend nach Körpergewicht. Jede weitere Variable wird einfach per Komma hinter die anderen Variablen gesetzt. Die vorderste Variable in der Funktion ist die erste Stufe, nach der sortiert wird.


# Absteigend nach Sportnote, aufsteigend nach Gewicht sortieren
df <- df[order(-df$Sportnote, df$Gewicht),]

Eine mehrstufige Sortierung kann beliebig viele Stufen beinhalten. Allerdings sollten zwei Dinge beachtet werden:

  • Mit intervall- oder verhältnisskalierten Variablen sollte eher in späteren Stufen sortiert werden, da diese Variablen typischerweise mehr Ausprägungen und damit gleichzeitig weniger gehäuftes Vorkommen haben, was ein darauf aufbauendes Sotieren wenig sinnvoll werden lässt.
  • Je mehr Stufen zur Sortierung verwendet werden, desto größer sollte der Datensatz sein.

 

3 Videotutorial

 

Hat dir der Beitrag geholfen?

Dann würde ich mich über eine kleine Spende freuen, die es mir erlaubt, weiterhin kostenfreie Inhalte zu veröffentlichen.
Alternativ kannst du über meinen Amazon Affiliate-Link einkaufen – ohne Zusatzkosten.

Vielen Dank und viel Erfolg!

Über mich

Björn Walther

Ein 💚 für Statistik & Datenanalyse

Excel Online-Kurs

YouTube-Kanal

Inhalt