web-dev-qa-db-fra.com

Comment effectuer plusieurs jointures à gauche à l'aide de dplyr dans R

Comment joindre plusieurs images dans R avec dplyr?

new <- left_join(x,y, by = "Flag")

c'est le code que j'utilise pour joindre gauche x et y le code ne fonctionne pas pour plusieurs jointures

new <- left_join(x,y,z by = "Flag")
42
pranav

Vous pouvez utiliser imbriqué left_join

 left_join(x, y, by='Flag') %>%
                left_join(., z, by='Flag') 

Ou une autre option serait de placer tous les jeux de données dans un list et d'utiliser merge de base R avec Reduce

Reduce(function(...) merge(..., by='Flag', all.x=TRUE), list(x,y,z))

Ou nous avons join_all de plyr. Ici aussi, nous plaçons les dataframes dans un list et utilisons l'argument type='left' pour rejoindre à gauche.

library(plyr)
join_all(list(x,y,z), by='Flag', type='left')
82
akrun