【发布时间】:2020-07-16 19:23:55
【问题描述】:
我正在尝试对同一数据集中的不同列进行多次合并/连接,但是当我这样做时,输出完全错误。
df1 df2
P1 P2 P3 P4 P Output
A B C C 1
A B B 2
E F G H H 3
E E 4
我正在尝试将 df2 合并到 df1 上,我想得到的输出看起来像
df3
P1 P2 P3 P4 Output
A B C NA 1
A B NA NA 2
E F G H 3
E NA NA NA 4
我试过了
df3<- merge(df1,df2, by.x = "P1", by.y = "P", all.x = T, all.y = T)
df3<- merge(df1,df2, by.x = "P2", by.y = "P", all.x = T, all.y = T)
df3<- merge(df1,df2, by.x = "P3", by.y = "P", all.x = T, all.y = T)
df3<- merge(df1,df2, by.x = "P4", by.y = "P", all.x = T, all.y = T)
但是它并没有按照我认为的方式工作。有没有我不知道的可以像这样干净地合并的更简单的功能?
【问题讨论】:
-
预期输出是否正确
-
为什么
df1的第3 行匹配3而不是4?