我正在处理两个不同大小的数据框。
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。
想知道如何合并以上两个数据框?
答案 0 :(得分:9)
(未测试!)
更仔细地阅读?merge
...特别注意all
论点。
merge(matA,matB,by="col1",all=TRUE)
从技术上讲(a)这些是数据框而不是矩阵(b)这里不需要by="col1"
。
答案 1 :(得分:0)
请转到
http://www.dr-spiess.de/Rscripts.html
并查看绑定不等长度数据帧的cbind
,rbind
和data.frame(cbind.na
,rbind.na
和data.frame.na
)的修改后的通用版本通过自动填充NA来表示矩阵。