R : Comment fusionner des blocs de données par noms de colonnes



Vous pouvez utiliser les méthodes suivantes pour fusionner des blocs de données par noms de colonnes dans R :

Méthode 1 : fusionner en fonction d’un nom de colonne correspondant

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

Méthode 2 : fusionner sur la base d’un nom de colonne sans correspondance

merge(df1, df2, by.x='var1', by.y='variable1')

Méthode 3 : fusionner en fonction de plusieurs noms de colonnes correspondants

merge(df1, df2, by=c('var1', 'var2'))

Méthode 4 : fusionner en fonction de plusieurs noms de colonnes sans correspondance

merge(df1, df2, by.x=c('var1', 'var2'), by.y=c('variable1', 'variable2'))

Les exemples suivants montrent comment utiliser chaque méthode dans la pratique.

Exemple 1 : Fusion basée sur un nom de colonne correspondant

Le code suivant montre comment fusionner deux trames de données dans R en fonction d’un nom de colonne correspondant :

#define data frames
df1 <- data.frame(team=c('A', 'B', 'C', 'D'),
                  points=c(88, 98, 104, 100))

df2 <- data.frame(team=c('A', 'B', 'C', 'D'),
                  rebounds=c(22, 31, 29, 20))

#merge based on one column with matching name
merge(df1, df2, by='team')

  team points rebounds
1    A     88       22
2    B     98       31
3    C    104       29
4    D    100       20

Le résultat est un bloc de données correspondant aux lignes de chaque bloc de données à l’aide de la colonne d’équipe .

Exemple 2 : Fusion basée sur un nom de colonne sans correspondance

Le code suivant montre comment fusionner deux trames de données dans R en fonction d’un nom de colonne sans correspondance :

#define data frames
df1 <- data.frame(team=c('A', 'B', 'C', 'D'),
                  points=c(88, 98, 104, 100))

df2 <- data.frame(team_name=c('A', 'B', 'C', 'D'),
                  rebounds=c(22, 31, 29, 20))

#merge based on one column with unmatched name
merge(df1, df2, by.x='team', by.y='team_name')

  team points rebounds
1    A     88       22
2    B     98       31
3    C    104       29
4    D    100       20

Le résultat est un bloc de données qui correspond aux lignes en utilisant la colonne team dans le premier bloc de données et la colonne team_name dans le deuxième bloc de données.

Exemple 3 : Fusion basée sur plusieurs noms de colonnes correspondants

Le code suivant montre comment fusionner deux trames de données dans R en fonction de plusieurs noms de colonnes correspondant :

#define data frames
df1 <- data.frame(team=c('A', 'A', 'B', 'B'),
                  position=c('G', 'F', 'G', 'F'),
                  points=c(88, 98, 104, 100))

df2 <- data.frame(team=c('A', 'A', 'B', 'B'),
                  position=c('G', 'F', 'G', 'F'),
                  rebounds=c(22, 31, 29, 20))

#merge based on multiple columns with matching names
merge(df1, df2, by=c('team', 'position'))

  team position points rebounds
1    A        F     98       31
2    A        G     88       22
3    B        F    100       20
4    B        G    104       29

Le résultat est un bloc de données qui correspond aux lignes de chaque bloc de données en utilisant la colonne d’équipe et de position dans chaque bloc de données.

Exemple 4 : Fusion basée sur plusieurs noms de colonnes sans correspondance

Le code suivant montre comment fusionner deux trames de données dans R en fonction de plusieurs noms de colonnes sans correspondance :

#define data frames
df1 <- data.frame(team=c('A', 'A', 'B', 'B'),
                  position=c('G', 'F', 'G', 'F'),
                  points=c(88, 98, 104, 100))

df2 <- data.frame(team_name=c('A', 'A', 'B', 'B'),
                  position_name=c('G', 'F', 'G', 'F'),
                  rebounds=c(22, 31, 29, 20))

#merge based on multiple columns with matching names
merge(df1, df2, by.x=c('team', 'position'), by.y=c('team_name', 'position_name'))

  team position points rebounds
1    A        F     98       31
2    A        G     88       22
3    B        F    100       20
4    B        G    104       29

Le résultat est un bloc de données qui correspond aux lignes en utilisant les colonnes team et position dans le premier bloc de données et les colonnes team_name et position_name dans le deuxième bloc de données.

Ressources additionnelles

Les didacticiels suivants expliquent comment exécuter d’autres fonctions courantes liées aux trames de données dans R :

Comment faire une jointure à gauche dans R
Comment faire une jointure interne dans R
Comment effectuer une RECHERCHEV dans R
Comment ajouter des lignes au 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 *