矩阵-R中的连接矩阵

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

Dombey asked 2020-08-02T10:00:01Z
2个解决方案
54 votes

听起来您正在寻找cbind

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

同样,cbind将矩阵水平堆叠。

我不确定您最后一个问题的意思(“我可以针对不同行和列的矩阵执行此操作吗?”)

NPE answered 2020-08-02T10:01:13Z
6 votes

来自gdata包的cbindX合并了具有不同列和行长度的多列。 在这里查看页面:

[HTTP://还哦是哦.哦哦是.好哦裤带.AC.键盘/~库伯/R doc/library/勾搭他/HTML/曹彬DX.HTML]

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

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

然后

library(gdata)
concat_data <- cbindX(df1, df2, df3) # or cbindX(matrix1, matrix2, matrix3, matrix4)
gawbul answered 2020-08-02T10:01:46Z
translate from https://stackoverflow.com:/questions/7324833/concatenating-matrices-in-r