I'm looking for a dplyr solution to join two columns of a data frame with one column of another data frame using one line. E.G:
Data frames to merge:
df <- tibble(a = 1:5,
b = 6:10)
df2 <- tibble(c = 1:10,
d = letters[1:10])
Desired result:
df3 <- df %>%
left_join(df2, by = c('a' = 'c')) %>%
rename(d_a = d) %>%
left_join(df2, by = c('b' = 'c')) %>%
rename(d_b = d)
a b d_a d_b
<int> <int> <chr> <chr>
1 1 6 a f
2 2 7 b g
3 3 8 c h
4 4 9 d i
5 5 10 e j
How can I use left-join
once to merge both a
and b
with c
?
I have tried:
df %>%
left_join(df2, by = c('a' = 'c',
'b' = 'c'))