Comment utiliser bind_rows et bind_cols dans dplyr (avec exemples)
Vous pouvez utiliser la fonction bind_rows() du package dplyr dans R pour lier deux trames de données par leurs lignes :
bind_rows(df1, df2, df3, ...)
De même, vous pouvez utiliser la fonction bind_cols() de dplyr pour lier deux trames de données par leurs colonnes :
bind_cols(df1, df2, df3, ...)
Les exemples suivants montrent comment utiliser chacune de ces fonctions dans la pratique.
Exemple 1 : utilisez bind_rows()
Le code suivant montre comment utiliser la fonction bind_rows() pour lier trois trames de données ensemble en fonction de leurs lignes :
library(dplyr)
#create data frames
df1 <- data.frame(team=c('A', 'A', 'B', 'B'),
points=c(12, 14, 19, 24))
df2 <- data.frame(team=c('A', 'B', 'C', 'C'),
points=c(8, 17, 22, 25))
df3 <- data.frame(team=c('A', 'B', 'C', 'C'),
assists=c(4, 9, 12, 6))
#row bind together data frames
bind_rows(df1, df2, df3)
team points assists
1 A 12 NA
2 A 14 NA
3 B 19 NA
4 B 24 NA
5 A 8 NA
6 B 17 NA
7 C 22 NA
8 C 25 NA
9 A NA 4
10 B NA 9
11 C NA 12
12 C NA 6
Notez que cette fonction remplit automatiquement les valeurs manquantes avec NA si les trames de données n’ont pas toutes les mêmes noms de colonnes.
Exemple 2 : utilisez bind_cols()
Le code suivant montre comment utiliser la fonction bind_cols() pour lier trois trames de données ensemble en fonction de leurs colonnes :
library(dplyr)
#create data frames
df1 <- data.frame(team=c('A', 'A', 'B', 'B'),
points=c(12, 14, 19, 24))
df2 <- data.frame(team=c('A', 'B', 'C', 'C'),
points=c(8, 17, 22, 25))
df3 <- data.frame(team=c('A', 'B', 'C', 'C'),
assists=c(4, 9, 12, 6))
#column bind together data frames
bind_cols(df1, df2, df3)
team points assists steals blocks rebounds
1 A 12 A 8 A 4
2 A 14 B 17 B 9
3 B 19 C 22 C 12
4 B 24 C 25 C 6
Notez que les colonnes d’origine de chaque bloc de données apparaissent dans le bloc de données final dans l’ordre dans lequel nous les avons spécifiées dans la fonction bind_cols() .
Ressources additionnelles
Les didacticiels suivants expliquent comment lier des trames de données à l’aide des fonctions rbind() et cbind() de la base R :
- Comment utiliser rbind dans R
- Comment utiliser cbind dans R
Les didacticiels suivants expliquent comment exécuter d’autres fonctions courantes dans dplyr :