Может ли dplyr объединяться в несколько столбцов или составной?
Я понимаю, что dplyr
v3.0 позволяет вам присоединяться к различным переменным:
left_join(x, y, by = c("a" = "b")
будет соответствовать x.a
- y.b
Однако возможно ли объединение в комбинации переменных? Или мне нужно добавить сложный ключ раньше времени?
Это что-то вроде:
left_join(x, y, by = c("a c" = "b d")
, чтобы совместить конкатенацию [ x.a
и x.c
] с [y.b
и y.d
]
Ответы
Ответ 1
Вы можете передать именованный вектор длиной больше 1 в аргумент by
left_join()
:
library(dplyr)
d1 <- data_frame(
x = letters[1:3],
y = LETTERS[1:3],
a = rnorm(3)
)
d2 <- data_frame(
x2 = letters[3:1],
y2 = LETTERS[3:1],
b = rnorm(3)
)
left_join(d1, d2, by = c("x" = "x2", "y" = "y2"))