Come eseguire un left join utilizzando le colonne selezionate in dplyr


È possibile utilizzare la seguente sintassi di base in dplyr per eseguire un left join su due frame di dati utilizzando solo le colonne selezionate:

 library (dplyr)

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

Questo particolare esempio eseguirà un left join sui frame di dati chiamati df_A e df_B , unendosi alla colonna chiamata team , ma solo le colonne del team e della conferenza di df_B saranno incluse nel frame di dati risultante.

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: esegui un left join utilizzando le colonne selezionate 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'),
                   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 AW 14 4
2 CW 8 3
3 OF 8 9
4 FE 6 9
5 GE 9 4

Possiamo utilizzare la seguente sintassi in dplyr per eseguire un left join ma inserendo solo le colonne team e conference da 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
1A 22W
2 B 25 NA
3C 19W
4 D 14 E
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.

Utilizzando la funzione select() di dplyr, siamo stati in grado di specificare che volevamo importare solo le colonne del team e della conferenza da df_B .

Tieni presente che i rimbalzi e le colonne assist di df_B non sono stati inclusi nel frame di dati finale.

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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *