使用不同的列名称连接数据帧(tibble)

时间:2017-11-28 14:30:38

标签: r dataframe merge dplyr tibble

我正在寻找一个dplyr解决方案来合并dplyr中的两个df(或tibble),当它们具有相同的长度但不同的列名时。

我到目前为止找到的解决方案relate to a common column名称,通过by = ""字段加入。

结构:

DF1

A B
1 4
2 2

DF2

C D
4 1
3 4

期望的输出:

DF

A B C D
1 4 4 1
2 2 3 4

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

library(data.table)
setDT(df1,keep.rownames=T); setDT(df2,keep.rownames=T)
df3 <- df1[df2,on="rn"]
df3 <- subset(df3, select = -c(rn))

here获取的方法。

修改

您可以使用dplyr

达成类似的功能
df1$rn <- seq.int(nrow(df1))
df2$rn <- seq.int(nrow(df2))
df3 <- full_join(df1, df2, by = rn)