Joindre à gauche dans dplyr avec différents noms de colonnes
Vous pouvez utiliser la syntaxe de base suivante dans dplyr pour effectuer une jointure gauche sur deux blocs de données lorsque les colonnes que vous joignez ont des noms différents dans chaque bloc de données :
library(dplyr) final_df <- left_join(df_A, df_B, by = c('team' = 'team_name'))
Cet exemple particulier effectuera une jointure gauche sur les trames de données appelées df_A et df_B , en joignant la colonne de df_A appelée team et la colonne de df_B appelée team_name .
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : effectuer une jointure à gauche avec différents noms de colonnes 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'), rebounds=c(14, 8, 8, 6, 9)) df_B team_name rebounds 1 A 14 2 C 8 3 D 8 4 F 6 5 G 9
Nous pouvons utiliser la syntaxe suivante dans dplyr pour effectuer une jointure gauche basée sur les valeurs correspondantes dans la colonne team de df_A et la colonne team_name de df_B :
library(dplyr) #perform left join based on different column names in df_A and df_B final_df <- left_join(df_A, df_B, by = c('team' = 'team_name')) #view final data frame final_df team points rebounds 1 A 22 14 2 B 25 NA 3 C 19 8 4 D 14 8 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 d’équipe correspondent aux valeurs team_name .
Notez que vous pouvez également effectuer une recherche sur plusieurs colonnes portant des noms différents en utilisant la syntaxe de base suivante :
library(dplyr) #perform left join based on multiple different column names final_df <- left_join(df_A, df_B, by = c('A1' = 'B1', 'A2' = 'B2', 'A3' = 'B3'))
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