Comment effectuer une jointure à gauche en utilisant les colonnes sélectionnées dans dplyr



Vous pouvez utiliser la syntaxe de base suivante dans dplyr pour effectuer une jointure gauche sur deux trames de données en utilisant uniquement les colonnes sélectionnées :

library(dplyr)

final_df <- df_A %>% 
  left_join(select(df_B, team, conference), by="team")

Cet exemple particulier effectuera une jointure gauche sur les trames de données appelées df_A et df_B , en se joignant à la colonne appelée team , mais seules les colonnes team et conference de df_B seront incluses dans la trame de données résultante.

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : effectuer une jointure à gauche en utilisant les colonnes sélectionnées dans dplyr

Supposons que nous ayons les deux trames de données suivantes dans R :

#create first data frame
df_A <- data.frame(team=c('A', 'B', 'C', 'D', 'E'),
                   points=c(22, 25, 19, 14, 38))

df_A

  team points
1    A     22
2    B     25
3    C     19
4    D     14
5    E     38

#create second data frame
df_B <- data.frame(team=c('A', 'C', 'D', 'F', 'G'),
                   conference=c('W', 'W', 'E', 'E', 'E'),
                   rebounds=c(14, 8, 8, 6, 9),
                   assists=c(4, 3, 9, 9, 4))

df_B

  team conference rebounds assists
1    A          W       14       4
2    C          W        8       3
3    D          E        8       9
4    F          E        6       9
5    G          E        9       4

Nous pouvons utiliser la syntaxe suivante dans dplyr pour effectuer une jointure à gauche mais en n’apportant que les colonnes team et conference de df_B :

library(dplyr)

#perform left join but only bring in team and conference columns from df_B
final_df <- df_A %>% 
  left_join(select(df_B, team, conference), by="team")

#view final data frame
final_df

  team points conference
1    A     22          W
2    B     25         NA
3    C     19          W
4    D     14          E
5    E     38         NA

Le bloc de données résultant contient toutes les lignes de df_A et uniquement les lignes de df_B où les valeurs de l’ équipe correspondent.

En utilisant la fonction select() de dplyr, nous avons pu spécifier que nous souhaitions uniquement importer les colonnes d’équipe et de conférence de df_B .

Notez que les colonnes de rebonds et d’assistance de df_B n’ont pas été incluses dans la trame de données finale.

Remarque : Vous pouvez trouver la documentation complète de la fonction left_join() dans dplyr ici .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans R :

Comment faire une jointure à gauche dans R
Comment faire une jointure à droite dans R
Comment faire une jointure interne dans R
Comment faire une jointure externe dans R

Ajouter un commentaire

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