如何在R中混合数据帧

时间:2015-12-14 16:06:50

标签: r dataframe

我有以下情况,2个巨大的数据帧X和Y(每个数据帧的rownumber大约为1300万,每个数据帧的列数为11),我需要以特定的方式合并它们。 X数据帧示例是

    A   1   2   3
    B   3   2   4
    C   1   6   8

Y数据帧是

    A   9   1   8
    B   3   1   7
    D   2   9   4

我必须将它们与以下逻辑混合: 如果Y中行的第一个元素出现在X中,那么我必须将它附加到行中 如果Y中的行的第一个元素不存在于X中,那么我必须附加零,然后附加Y数据 对于Y中不存在的所有X行,我必须附加零 混合结果应该是这样的:

    A   1   2   3   9   1   8       I found A in Y and I appended
    B   3   2   4   3   1   7       I found B in Y and I appended
    C   1   6   8   0   0   0       I didn't found C in Y and added 0
    D   0   0   0   2   9   4       I didn't found D in X and added 0 then appended C

我试图逐行,但需要很长时间,我需要一次或双击(双指令)解决方案......

由于

1 个答案:

答案 0 :(得分:2)

没有可重现的例子,我无法测试,但我认为你想要:

library(dplyr)
z<-full_join(x,y, by=FirstColumn)
z[is.na(Z)]<-0

这假设原始数据中没有NA。