Dplyr row_number(): Nummerierung von Zeilen

Die Funktion row_number() ist einfach anzuwenden. Sie erzeugt eine aufsteigende numerische Sequenz für die Zeilen eines Data Frames. Die Funktion wird häufig zusammen mit mutate() verwendet, um eine numerische Sequenz zu erstellen.

In diesem Kapitel demonstrieren wir die Funktionen anhand von Daten, die wir mit der Funktion tibble() selbst direkt in R erzeugen:

my_data <- tibble(Namn = c("Per", "Per", "Per", "Eva", "Eva", "Zara", "Aziz", "Aziz","Aziz"),
                  Diagnos = c("I", "I", "C", "C", "D", "D", "D", "E", "E"))
my_data
 Namn  Diagnos
 Per   I
 Per   I
 Per   C
 Eva   C
 Eva   D
 Zara  D
 Aziz  D
 Aziz  E
 Aziz  E

Nun erstellen wir die Variable ID_nummer, eine numerische Sequenz über den gesamten Data Frame:

my_data |>
  mutate(ID_Nummer = row_number())
 Namn  Diagnos ID_Nummer
 Per   I               1
 Per   I               2
 Per   C               3
 Eva   C               4
 Eva   D               5
 Zara  D               6
 Aziz  D               7
 Aziz  E               8
 Aziz  E               9

Wir erstellen erneut eine numerische Sequenz, diesmal jedoch gruppiert nach Namn:

 Namn  Diagnos ID_Nummer
 Per   I               1
 Per   I               2
 Per   C               3
 Eva   C               1
 Eva   D               2
 Zara  D               1
 Aziz  D               1
 Aziz  E               2
 Aziz  E               3

Beachten Sie, dass die numerische Sequenz oben für jeden Namen separat läuft. Wir können eine weitere Gruppierungsvariable hinzufügen, indem wir Diagnos als Gruppe ergänzen:

my_data |>
  group_by(Namn, Diagnos) |>
  mutate(ID_Nummer = row_number())
 Namn  Diagnos ID_Nummer
 Per   I               1
 Per   I               2
 Per   C               1
 Eva   C               1
 Eva   D               1
 Zara  D               1
 Aziz  D               1
 Aziz  E               1
 Aziz  E               2

Beachten Sie, dass die Zeilennummerierung für jede Diagnos innerhalb jedes Namn separat erfolgt.

Dplyr row_number(): Nummerierung von Zeilen · Kardiovaskuläre Medizin