基于键列合并两个数据框的最佳方法

时间:2019-02-08 22:47:17

标签: r

两个数据框之间的关键列:

df1 <- data.frame(id = c(1,2,3,4,5), quant = c(23,4,34,52,22))
df2 <- data.frame(tshape = c(43,3,5,1,6), id = c(1,2,3,4,5))

我使用了所有选项

dfall <- merge(x = df1, y = df2, by = "id", all = TRUE)
dfall <- merge(x = df1, y = df2, by = "id", all.y = TRUE)
dfall <- merge(x = df1, y = df2, by = "id", all.x = TRUE)
dfall2 <- merge(x = df1, y = df2, by = "id", all.x = TRUE)

但是任何人给出我尝试提取的结果:

id  quant tshape 
1    23     43
2     4      3
3    34      5
4    52      1
5    22      6

1 个答案:

答案 0 :(得分:1)

运行以下命令似乎可以为我提供正确的输出:

df1 <- data.frame(id = c(1,2,3,4,5), quant = c(23,4,34,52,22))
df2 <- data.frame(tshape = c(43,3,5,1,6), id = c(1,2,3,4,5))
dfall <- merge(df1, df2, by = "id")

这给出了输出

>print(dfall, row.names=F)

id quant tshape
1    23     43
2     4      3
3    34      5
4    52      1
5    22      6