Я бы рекомендовал проверить пакет sqldf Gabor Grothendieck , который позволяет вам выражать эти операции в SQL.
library(sqldf)
## inner join
df3 <- sqldf("SELECT CustomerId, Product, State
FROM df1
JOIN df2 USING(CustomerID)")
## left join (substitute 'right' for right join)
df4 <- sqldf("SELECT CustomerId, Product, State
FROM df1
LEFT JOIN df2 USING(CustomerID)")
Я нахожу синтаксис SQL более простым и более естественным, чем его эквивалент R (но это может просто отражать смещение RDBMS).
Для получения дополнительной информации о объединениях см. Gabor's sqldf GitHub .