Zeilen in R anordnen - so geht's

Von Fabian
Kategorie: R
Tags: dplyr
Lesezeit: 3 Minuten

Oft sind Sie daran interessiert, die Zeilen eines Dataframes in R in einer bestimmten Reihenfolge anzuordnen. Glücklicherweise ist dies mit der Funktion arrange() aus der dplyr-Bibliothek einfach zu bewerkstelligen.

In diesem Tutorial werden einige Beispiele für die praktische Verwendung dieser Funktion anhand des folgenden Dataframes erläutert:

# Dataframe erstellen
df <- data.frame(player = c('A', 'B', 'C', 'D', 'E', 'F', 'G'),
                 points = c(12, 14, 14, 15, 20, 18, 29),
                 assists = c(3, 5, 7, 8, 14, NA, 9))


#Dataframe anzeigen 
df

  player points assists
1      A     12       3
2      B     14       5
3      C     14       7
4      D     15       8
5      E     20      14
6      F     18      NA
7      G     29       9

Beispiel 1: Nach einer Spalte anordnen

Der folgende Code zeigt, wie der Dataframe in aufsteigender Reihenfolge basierend auf den Werten in der Spalte "Punkte" angeordnet wird:

library(dplyr)

df %>% arrange(points)

  player points assists
1      A     12       3
2      B     14       5
3      C     14       7
4      D     15       8
5      F     18      NA
6      E     20      14
7      G     29       9

Um in absteigender Reihenfolge zu sortieren, können wir die Funktion desc() verwenden:

df %>% arrange(desc(points))

  player points assists
1      G     29       9
2      E     20      14
3      F     18      NA
4      D     15       8
5      B     14       5
6      C     14       5
7      A     12       3

Beachten Sie, dass NAs bis zum Ende sortiert werden, unabhängig davon, ob Sie aufsteigend oder absteigend sortieren:

df %>% arrange(assists)

  player points assists
1      A     12       3
2      B     14       5
3      C     14       7
4      D     15       8
5      G     29       9
6      E     20      14
7      F     18      NA

df %>% arrange(desc(assists))

  player points assists
1      E     20      14
2      G     29       9
3      D     15       8
4      C     14       7
5      B     14       5
6      A     12       3
7      F     18      NA

Beispiel 2: Nach mehreren Spalten anordnen

Um die Zeilen nach mehreren Spalten anzuordnen, können Sie einfach weitere Spaltennamen als Argumente angeben:

df %>% arrange(points, assists)

  player points assists
1      A     12       3
2      B     14       5
3      C     14       7
4      D     15       8
5      F     18      NA
6      E     20      14
7      G     29       9

Wir können die Zeilen auch nach einer Spalte aufsteigend und einer anderen absteigend anordnen:

df %>% arrange(points, desc(assists))

  player points assists
1      A     12       3
2      C     14       7
3      B     14       5
4      D     15       8
5      F     18      NA
6      E     20      14
7      G     29       9

Beispiel 3: Ordnen Sie Zeilen in einer benutzerdefinierten Reihenfolge an

Gelegentlich möchten Sie die Zeilen möglicherweise auch in einer benutzerdefinierten Reihenfolge sortieren. Sie können dies einfach tun, indem Sie einen Faktor mit bestimmten Ebenen verwenden:

# Nach Spieler sortieren mit eigener Anordnung
df %>% arrange(factor(player, levels = c('D', 'C', 'A', 'B', 'E', 'F', 'G')))

  player points assists
1      D     15       8
2      C     14       7
3      A     12       3
4      B     14       5
5      E     20      14
6      F     18      NA
7      G     29       9

Die vollständige Dokumentation zur Funktion arrange() finden Sie hier.

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: