Comment faire une jointure interne dans R (avec exemples)



Il existe deux manières courantes d’effectuer une jointure interne dans R :

Méthode 1 : utiliser Base R

merge(df1, df2, by='column_to_join_on')

Méthode 2 : utiliser dplyr

library(dplyr)

inner_join(df1, df2, by='column_to_join_on')

Les deux méthodes produiront le même résultat, mais la méthode dplyr aura tendance à fonctionner plus rapidement sur des ensembles de données extrêmement volumineux.

Les exemples suivants montrent comment utiliser chacune de ces fonctions en pratique avec les trames de données suivantes :

#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    A     18
2    B     22
3    C     19
4    D     14
5    E     14
6    F     11
7    G     20
8    H     28

#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    A       4
2    B       9
3    C      14
4    D      13
5    G      10
6    H       8

Exemple 1 : jointure interne utilisant Base R

Nous pouvons utiliser la fonction merge() en base R pour effectuer une jointure interne, en utilisant la colonne ‘team’ comme colonne sur laquelle rejoindre :

#perform inner join using base R
df3 <- merge(df1, df2, by='team')

#view result
df3

  team points assists
1    A     18       4
2    B     22       9
3    C     19      14
4    D     14      13
5    G     20      10
6    H     28       8

Notez que seules les équipes qui figuraient dans les deux ensembles de données sont conservées dans l’ensemble de données final.

Exemple 2 : jointure interne utilisant dplyr

Nous pouvons utiliser la fonction inner_join() du package dplyr pour effectuer une jointure interne, en utilisant la colonne ‘team’ comme colonne sur laquelle rejoindre :

library(dplyr)

#perform inner join using dplyr 
df3 <- inner_join(df1, df2, by='team')

#view result
df3

  team points assists
1    A     18       4
2    B     22       9
3    C     19      14
4    D     14      13
5    G     20      10
6    H     28       8

Notez que cela correspond au résultat que nous avons obtenu en utilisant la fonction merge() en base R.

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 ajouter une colonne au bloc de données dans R
Comment supprimer des colonnes du bloc de données dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *