我的dplyr加入技巧有点生疏,但我试图加入两个看起来像这样的数据集:
L = c("a","a","a","a")
M = c("b","b","b","b")
N = c("c","c","c","c")
O = c("d","e","d","e")
P = c(1521,02915,12451,12)
DF1 <- data.frame(L,M,N,O,P)
L = c("a","a","a","a")
M = c("b","b","b","b")
N = c("c","c","c","c")
O = c("d","e","f","d")
Q = c(11,8805,1231,9012)
DF2 <- data.frame(L,M,N,O,Q)
加入这些的好方法是什么,所以P和Q与相同的LMNO列一起?我不确定是否有办法在dplyr中生成主键以加入。
我认为这不是合法的行为:
DF3 <- left_join(DF1,DF2)
因为我从结果连接中丢失了DF2中的O列。我觉得我在这里错过了一些非常简单的事情......
答案 0 :(得分:-1)
如果您想要基于LMNO列的唯一记录,请尝试使用
Select DF1.L, DF1.M, DF1.N , DF1.O , DF1.P , DF2.Q
FROM DF1 JOIN DF2
ON DF1.L = DF2.L
AND DF1.M = DF2.M
AND DF1.N = DF2.N
AND DF1.0 = DF2.O