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

Aggiungi un commento

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