我意识到 dplyr v3.0允许你加入不同的变量:
dplyr
left_join(x, y, by = c("a" = "b") 将匹配 x.a 至 y.b
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 ]的串联
left_join(x, y, by = c("a c" = "b d")
x.c
y.d
您可以将长度大于1的命名向量传递给 left_join() 的 by 参数:
left_join()
by
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"))
1 回答
您可以将长度大于1的命名向量传递给
left_join()
的by
参数: