Как выполнить несколько левых объединений с использованием dplyr в R

Как присоединиться к нескольким кадрам данных в R с помощью dplyr?

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

это код, который я использую для левого соединения x и y код не работает для нескольких соединений

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

Ответ 1

Вы можете использовать вложенный left_join

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

Или другой вариант должен разместить все наборы данных в list и использовать merge из base R с помощью Reduce

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

Или мы имеем join_all из plyr. Здесь также помещаем dataframes в list и используем аргумент type='left' для левого соединения.

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