我想合并两个数据帧,保持其中一个的原始行顺序(下面例子中的 df.2
)。
下面是一些示例数据(class
列中的所有值都在两个数据帧中定义) :
df.1 <- data.frame(class = c(1, 2, 3), prob = c(0.5, 0.7, 0.3))
df.2 <- data.frame(object = c('A', 'B', 'D', 'F', 'C'), class = c(2, 1, 2, 3, 1))
如果我这样做:
merge(df.2, df.1)
产出为:
class object prob
1 1 B 0.5
2 1 C 0.5
3 2 A 0.7
4 2 D 0.7
5 3 F 0.3
如果我加上 sort = FALSE
:
merge(df.2, df.1, sort = F)
结果是:
class object prob
1 2 A 0.7
2 2 D 0.7
3 1 B 0.5
4 1 C 0.5
5 3 F 0.3
但我想说的是:
class object prob
1 2 A 0.7
2 1 B 0.5
3 2 D 0.7
4 3 F 0.3
5 1 C 0.5