R合并具有订单

时间:2016-09-20 03:35:00

标签: r dataframe merge

下面有三个大数据框,想要按顺序合并到一个数据框中。

df 1:
First Name  Last Name
John        Langham
Paul        McAuley
Steven      Hutchison
Sean        Hamilton
N           N

df2:
First Name  Wage    Location
John        500     HK
Paul        600     NY
Steven      1900    LDN
Sean        800     TL
N           N       N

df3:
Last Name   Time
Langham     8
McAuley     9
Hutchison   12
Hamilton    7
N           N

desired output:
First Name  Last Name   Wage    Location    Time
John        Langham     500     HK          8
Paul        McAuley     600     NY          9
Steven      Hutchison   1900    LDN         12
Sean        Hamilton    800     TL          7
N           N           N       N           N

我知道如何合并df1和df2但df1 + 2合并到第二列的df3改变了所需输出的顺序,所以我想问一下是否有任何建议?谢谢。

1 个答案:

答案 0 :(得分:2)

如果您要保留df1中显示的订单,请创建一个列来记录该订单,然后再次使用它来设置df3

的顺序
# record order
df1$original_order <- 1:nrow(df1)

# then do your merges...
# ...

# then restore the df1 order to df3
df3 <- df3[order(df3$original_order),]

如果你想要,你也可以摆脱那一栏:

df3$original_order <- NULL