R中的连接矩阵

时间:2011-09-06 19:06:07

标签: r matrix concatenation

如何连接相同列但不同行数的矩阵?例如,我 想要连接( dim(a) = 15 7000 )和b (dim(b) = 16 7000),我希望结果是317000列的矩阵。我可以为不同行和列的矩阵执行此操作。假设我想将15行和7000列的矩阵与16行和7500列中的另一列组合。我可以用它创建一个数据集吗?

2 个答案:

答案 0 :(得分:52)

听起来像是在寻找rbind

> a<-matrix(nrow=10,ncol=5)
> b<-matrix(nrow=20,ncol=5)
> dim(rbind(a,b))
[1] 30  5

同样,cbind水平堆叠矩阵。

我不完全确定你最后一个问题是什么意思(“我可以为不同行和列的矩阵做这个吗?”)

答案 1 :(得分:6)

gdata 中的

cbindX 组合了不同列和行长度的多个列。看看这里的页面:

http://hosho.ees.hokudai.ac.jp/~kubo/Rdoc/library/gdata/html/cbindX.html

它需要多个逗号分隔的矩阵和data.frames作为输入:)你只需要

install.packages("gdata", dependencies=TRUE)

然后

library(gdata)
concat_data <- cbindX(df1, df2, df3) # or cbindX(matrix1, matrix2, matrix3, matrix4)