【发布时间】:2021-06-13 19:00:07
【问题描述】:
在标准 R(或 dplyr)中是否存在连接两个表/data.frames 并具有列冲突条件的现有方法?
已经尝试过 dplyr 的连接,但它们受到匹配列名要求的限制。我需要能够加入任意两个表,无论它们的列名如何。
以下是一些数据和预期输出:
> require(dplyr)
> data <- data.frame(a = 1:3, b = 11:13, c = 21:23, d = 101:103)
a b c d
1 1 11 21 101
2 2 12 22 102
3 3 13 23 103
REPLACE_LEFT_JOIN(select(data, a, b), select(data, c, d), collisionKeep = "right")
a b
1 1 11
2 2 12
3 3 13
REPLACE_LEFT_JOIN(select(data, a, b), mutate(select(data, a, c, d), a = a-1), collisionKeep = "right")
a b
1 0 11
2 1 12
3 2 13
REPLACE_FULL_JOIN(select(data, a, b), mutate(select(data, a, c, d), a = a-1), collisionKeep = "right")
a b c d
1 0 11 21 101
2 1 12 22 102
3 2 13 23 103
【问题讨论】: