如何合并两个不同大小的数据框

时间:2011-10-25 18:11:57

标签: r

我正在处理两个不同大小的数据框。

matA : col1 col2 col3
row1   aa    abc   123
row2   cc    dfg   455
row3   ee    efg   345

matB : col1 col4 col5
row1   aa    a1   b1
row2   cc    a2   b2
row3   dd    a3   b3
row4   ee    a4   b4

dim(matA) : 2000 * 3
dim(matB) : 4000 * 3


matC : col1 col2 col3  col4 col5
row1 : aa   abc  123   a1    b1
row2 : cc   dfg  455   a2    b2
row3 : dd   efg  345   a3    b3
row4 : ee   NA   NA    a4    b4

我将两个合并到一个组合mat(matC)中,但是大小等于更大的mat(这里是matB),其中一些与mat1不匹配的行应该只是空或NAC中的NA。

想知道如何合并以上两个数据框?

2 个答案:

答案 0 :(得分:9)

(未测试!) 更仔细地阅读?merge ...特别注意all论点。

merge(matA,matB,by="col1",all=TRUE)

从技术上讲(a)这些是数据框而不是矩阵(b)这里不需要by="col1"

答案 1 :(得分:0)

请转到

http://www.dr-spiess.de/Rscripts.html

并查看绑定不等长度数据帧的cbindrbind和data.frame(cbind.narbind.nadata.frame.na)的修改后的通用版本通过自动填充NA来表示矩阵。