Подтвердить что ты не робот

Может ли 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]

4b9b3361

Ответ 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"))