So ordnen sie zeilen in r an


Häufig möchten Sie möglicherweise die Zeilen eines Datenrahmens in R in einer bestimmten Reihenfolge anordnen. Glücklicherweise ist dies mit der Funktion „arrange()“ aus der dplyr- Bibliothek einfach zu bewerkstelligen.

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

 #create data frame
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))

#view data frame 
df

  player points assists
1 to 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 organisieren

Der folgende Code zeigt, wie der Datenrahmen basierend auf den Werten in der Spalte „Punkte“ in aufsteigender Reihenfolge angeordnet wird:

 library(dplyr)

df %>% arrange(points)

  player points assists
1 to 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 Sie die Funktion desc() verwenden:

 df %>% arrange( desc (dots))

  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 to 12 3

Beachten Sie, dass die NAs bis zum Ende sortiert werden, unabhängig davon, ob Sie in aufsteigender oder absteigender Reihenfolge sortieren:

 df %>% arrange(assists)

  player points assists
1 to 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 to 12 3
7 F 18 NA

Beispiel 2: Über mehrere Spalten anordnen

Um Zeilen über mehrere Spalten anzuordnen, können wir einfach weitere Spaltennamen als Argumente angeben:

 #sort by points, then assists
df %>% arrange(points, assists)

  player points assists
1 to 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 aufsteigenden Spalte und einer weiteren absteigenden Spalte organisieren:

 #sort by points ascending, then assists descending
df %>% arrange(points, desc (assists))

  player points assists
1 to 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: Zeilen in einer benutzerdefinierten Reihenfolge anordnen

Manchmal möchten Sie die Zeilen möglicherweise auch in einer benutzerdefinierten Reihenfolge sortieren. Sie können dies ganz einfach mithilfe eines Faktors mit bestimmten Stufen tun:

 #sort by player with custom order
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 to 12 3
4 B 14 5
5 E 20 14
6 F 18 NA
7 G 29 9

Die vollständige Dokumentation zur Funktion „arrang()“ finden Sie hier .

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert