Come eseguire un inner join in r (con esempi)
Esistono due modi comuni per eseguire un inner join in R:
Metodo 1: utilizzare Base R
merge(df1, df2, by=' column_to_join_on ')
Metodo 2: usa dplyr
library (dplyr) inner_join(df1, df2, by=' column_to_join_on ')
Entrambi i metodi produrranno lo stesso risultato, ma il metodo dplyr tenderà a funzionare più velocemente su set di dati estremamente grandi.
I seguenti esempi mostrano come utilizzare nella pratica ciascuna di queste funzioni con i seguenti frame di dati:
#define first data frame df1 = data. frame (team=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'), points=c(18, 22, 19, 14, 14, 11, 20, 28)) df1 team points 1 to 18 2 B 22 3 C 19 4 D 14 5 E 14 6 F 11 7 G 20 8:28 a.m. #define second data frame df2 = data. frame (team=c('A', 'B', 'C', 'D', 'G', 'H'), assists=c(4, 9, 14, 13, 10, 8)) df2 team assists 1 to 4 2 B 9 3 C 14 4 D 13 5G 10 6:8 a.m.
Esempio 1: unione interna utilizzando Base R
Possiamo utilizzare la funzione merge() in base R per eseguire un inner join, utilizzando la colonna “team” come colonna a cui unirsi:
#perform inner join using base R df3 <- merge(df1, df2, by=' team ') #view result df3 team points assists 1 to 18 4 2 B 22 9 3 C 19 14 4 D 14 13 5 G 20 10 6:28 a.m. 8
Tieni presente che solo le squadre apparse in entrambi i set di dati vengono conservate nel set di dati finale.
Esempio 2: inner join utilizzando dplyr
Possiamo usare la funzione inner_join() dal pacchetto dplyr per eseguire un inner join, utilizzando la colonna ‘team’ come colonna su cui unirsi:
library (dplyr) #perform inner join using dplyr df3 <- inner_join(df1, df2, by=' team ') #view result df3 team points assists 1 to 18 4 2 B 22 9 3 C 19 14 4 D 14 13 5 G 20 10 6:28 a.m. 8
Nota che questo corrisponde al risultato che abbiamo ottenuto utilizzando la funzione merge() in base R.
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 aggiungere una colonna al frame di dati in R
Come rimuovere le colonne dal frame di dati in R