mergeFusionner des jeux de données par association signifie :
mettre en commun des observations de certaines variables en associant correctement les observations selon leurs unités de provenance.
Pour faire une fusion par association entre deux jeux de données, les conditions suivantes doivent être satisfaites :
Supposons que nous avons les deux jeux de données suivants :
x <- data.frame(ID = c("A", "A", "B", "D"), Age = c(21, 21, 32, 43))
x
ID Age
1 A 21
2 A 21
3 B 32
4 D 43
y <- data.frame(ID = c("B", "C", "E"), Sexe = c("F", "H", "H"))
y
ID Sexe
1 B F
2 C H
3 E H
En R, les deux jeux de données peuvent être juxtaposés avec la fonction merge, en utilisant la variable ID comme identifiant des unités, comme suit :
merge(x, y)
ID Age Sexe
1 B 32 F
En fait, cette commande est équivalente à la commande suivante :
merge(x, y, by = "ID")
car la fonction merge utilise par défaut les colonnes portant les mêmes noms pour identifier les unités (donc pour faire l’association entre les lignes des deux fichiers).
Si les variables identifiant les unités ne portent pas les mêmes noms dans les deux jeux de données, il faut spécifier des valeurs pour les arguments by.y et by.x, comme suit :
merge(x, y, by.x="ID", by.y="ID")
Par défaut, la fonction merge conserve uniquement les unités communes aux deux jeux de données. Il est possible de demander à la fonction merge de conserver toutes les unités :
merge(x, y, all = TRUE)
ID Age Sexe
1 A 21 <NA>
2 A 21 <NA>
3 B 32 F
4 C NA H
5 D 43 <NA>
6 E NA H
ou seulement les unités présentes dans le premier jeu de données (x) :
merge(x, y, all.x = TRUE, all.y = FALSE)
ID Age Sexe
1 A 21 <NA>
2 A 21 <NA>
3 B 32 F
4 D 43 <NA>
ou seulement les unités présentes dans le deuxième jeu de données (y) :
merge(x, y, all.x = FALSE, all.y = TRUE)
ID Age Sexe
1 B 32 F
2 C NA H
3 E NA H
Les différents types de fusion par association sont illustrés dans la figure suivante :
Source : http://www.datasciencemadesimple.com/join-in-r-merge-in-r/
Pour plus d’informations sur la fonction merge, vous pouvez aller voir la fiche d’aide de la fonction en tapant help(merge) dans la console R.