将r中的数据帧与一些常见列合并或连接,同时保持所有行的INTACT和顺序?

时间:2014-03-14 23:29:26

标签: r

我有一个问题:

我有太多的数据框,我需要加入它们,它们有一些共同的列。此时,您可以使用该函数按列合并数据框的x和y,其他不完整,如下所示:

    Merge(x,y,all=T)

但问题是我需要保持所有行完好无损。我不能使用rbind(x,y),因为有些列不一样。我将用一个例子来说明这一点:

我有x:

                x   y   z
                1   a   11
                2   b   12
                3   c   13
                4   d   14
                5   e   15

而且y:

                   x    y   z   w
                   1    a   11  r
                   2    b   12  s
                   3    c   13  t
                   4    d   14  y
                   5    e   15  u

所以我需要像这样得到一个数据帧Q:

                x   y   z       w
                1   a   11     na
                2   b   12     na
                3   c   13     na
                4   d   14     na
                5   e   15     na
                1   a   11     r
                2   b   12     s
                3   c   13     t
                4   d   14     y
                5   e   15     u

那些NA可以是零或什么都不是。我怎样才能做到这一点?????谢谢!

1 个答案:

答案 0 :(得分:1)

library(plyr)

rbind.fill(x, y)

##    x y  z    w
## 1  1 a 11 <NA>
## 2  2 b 12 <NA>
## 3  3 c 13 <NA>
## 4  4 d 14 <NA>
## 5  5 e 15 <NA>
## 6  1 a 11    r
## 7  2 b 12    s
## 8  3 c 13    t
## 9  4 d 14    y
## 10 5 e 15    u