Jak wykonać wiele lewych złączeń za pomocą dplyr w R [duplikat]

To pytanie ma już odpowiedź tutaj:

Jak połączyć wiele ramek danych w R używając dplyr ?

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

To jest kod, którego używam, aby połączyć X i y kod nie działa dla wielu połączeń

new <- left_join(x,y,z by = "Flag")
 25
Author: David Arenburg, 2015-08-18

1 answers

Możesz użyć zagnieżdżonego left_join

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

Lub inną opcją byłoby umieszczenie wszystkich zbiorów danych w list i użycie merge z base R z Reduce

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

Lub mamy join_all z plyr. Tutaj również umieszczamy ramki danych w list i używamy argumentu {[11] } dla LEFT join.

library(plyr)
join_all(list(x,y,z), by='Flag', type='left')
 54
Author: akrun,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-18 07:41:13