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 :

Les didacticiels suivants expliquent comment exécuter d’autres fonctions courantes dans dplyr :

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *