So wählen Sie die erste Zeile nach Gruppe mit dplyr aus

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

Oft möchten Sie die erste Zeile in jeder Gruppe mit dem Paket dplyr in R auswählen. Dazu können Sie die folgende grundlegende Syntax verwenden:

df %>%
  group_by(group_var) %>%
  arrange(values_var) %>%
  filter(row_number()==1)

Das folgende Beispiel zeigt, wie diese Funktion in der Praxis verwendet wird.

Beispiel: Wählen Sie die erste Zeile nach Gruppe in R aus

Angenommen, wir haben den folgenden Datensatz in R:

# Datensatz erstellen
df <- data.frame(team=c('A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C'),
                 points=c(4, 9, 7, 7, 6, 13, 8, 8, 4, 17))

#Datensatz anzeigen
df

   team points
1     A      4
2     A      9
3     A      7
4     B      7
5     B      6
6     B     13
7     C      8
8     C      8
9     C      4
10    C     17

Der folgende Code zeigt, wie Sie mit dem Paket dplyr die erste Zeile nach Gruppe in R auswählen:

library(dplyr)

df %>%
  group_by(team) %>%
  arrange(points) %>%
  filter(row_number()==1)

# A tibble: 3 x 2
# Groups:   team [3]
  team  points

1 A          4
2 C          4
3 B          6

Standardmäßig sortiert arrang() die Werte in aufsteigender Reihenfolge, aber wir können die Werte stattdessen einfach in absteigender Reihenfolge sortieren:

df %>%
  group_by(team) %>%
  arrange(desc(points)) %>%
  filter(row_number()==1)

# A tibble: 3 x 2
# Groups:   team [3]
  team  points

1 C         17
2 B         13
3 A          9

Beachten Sie, dass Sie diesen Code leicht ändern können, um die n-te Zeile für jede Gruppe auszuwählen. Ändern Sie einfach row_number() == n.

Wenn Sie beispielsweise die 2. Zeile nach Gruppe auswählen möchten, können Sie die folgende Syntax verwenden:

df %>%
  group_by(team) %>%
  arrange(desc(points)) %>%
  filter(row_number()==2)

Oder Sie können die folgende Syntax verwenden, um die letzte Zeile nach Gruppe auszuwählen:

df %>%
  group_by(team) %>%
  arrange(desc(points)) %>%
  filter(row_number()==n())

Zusätzliche Ressourcen

So ordnen Sie Zeilen in R
Wie man Beobachtungen nach Gruppen in R zählt
So finden Sie den Maximalwert nach Gruppe in R

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: