La fonction row_number() est simple à utiliser. Elle crée une séquence numérique croissante pour les lignes d'un data frame. Elle s'emploie souvent avec mutate() pour créer une séquence numérique.
Dans ce chapitre, nous illustrerons ces fonctions à l'aide de données que nous générons nous-mêmes directement dans R avec la fonction tibble() :
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 ECréons maintenant la variable ID_nummer, qui est une séquence numérique couvrant l'ensemble du 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 9Nous créons à nouveau une séquence numérique, mais cette fois groupée selon 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 3Remarquez ci-dessus que la séquence numérique est distincte pour chaque nom. Nous pouvons ajouter une variable de regroupement supplémentaire, ce que nous faisons en ajoutant Diagnos comme groupe :
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 2Notez que la numérotation des lignes est distincte pour chaque Diagnos au sein de chaque Namn.