Partecipa a sinistra in dplyr con nomi di colonne diversi
Puoi utilizzare la seguente sintassi di base in dplyr per unire a sinistra due frame di dati quando le colonne che stai unendo hanno nomi diversi in ciascun frame di dati:
library (dplyr) final_df <- left_join(df_A, df_B, by = c(' team ' = ' team_name '))
Questo particolare esempio eseguirà un left join sui frame di dati chiamati df_A e df_B , unendo la colonna di df_A chiamata team e la colonna di df_B chiamata team_name .
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: esegui un left join con nomi di colonna diversi in dplyr
Supponiamo di avere i seguenti due frame di dati in R:
#create first data frame df_A <- data. frame (team=c('A', 'B', 'C', 'D', 'E'), dots=c(22, 25, 19, 14, 38)) df_A team points 1 to 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 to 14 2 C 8 3 D 8 4 F 6 5 G 9
Possiamo utilizzare la seguente sintassi in dplyr per eseguire un left join in base ai valori corrispondenti nella colonna team di df_A e nella colonna team_name di 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 to 22 14 2 B 25 NA 3 C 19 8 4 D 14 8 5 E 38 NA
Il frame di dati risultante contiene tutte le righe di df_A e solo le righe di df_B in cui i valori della squadra corrispondono ai valori team_name .
Tieni presente che puoi anche eseguire la ricerca su più colonne con nomi diversi utilizzando la seguente sintassi di base:
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 '))
Nota : puoi trovare la documentazione completa della funzione left_join() in dplyr qui .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre operazioni comuni in R:
Come eseguire un join a sinistra in R
Come eseguire un join destro in R
Come eseguire un inner join in R
Come eseguire un join esterno in R