【发布时间】:2020-05-21 06:49:17
【问题描述】:
我有 2 个数据框:
df1=data.frame(col1=c('A', 'A', 'B', 'B', 'B'),
col2a=c(1, 4, 3, 2, 5))
df2=data.frame(col1=c('A', 'A', 'A', 'B', 'B'),
col2b=c('a', 'd', 'c', 'b', 'e'))
我想要这样的结果 df:
df3=data.frame(col1=c('A', 'A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B'),
col2b=c('a', 'a', 'd', 'd', 'c', 'c', 'b', 'b', 'b', 'e', 'e', 'e'),
col2a=c(1, 4, 1, 4, 1, 4, 3, 2, 5, 3, 2, 5))
我尝试通过 col1 列对 df1 和 df2 使用 merge() 但它不起作用,因为 col1 是非唯一列。谁能帮我解决这个问题?
【问题讨论】:
-
您想要完全加入吗?
merge(df1, df2, by = 'col1', all = TRUE) -
@Hunaidkhan:对不起,我已经编辑过了
-
@RonakShah 我不能这样做,因为 col1 是一个非唯一的列。我收到一个错误,提示“由多个实际参数匹配的形式参数“y””。
-
我没有收到您共享的数据的错误。
-
@RonakShah 非常感谢你,我已经可以用你的解决方案了 :)
标签: r dataframe join merge dplyr