web-dev-qa-db-ja.com

Rでの行列の連結

同じ列で異なる行数の行列を連結するにはどうすればよいですか?たとえば、( dim(a) = 15 7000 )とb (dim(b) = 16 7000)を連結し、結果を31行x 7000列のマトリックスにしたいです。異なる行と列の行列に対してこれを行うことはできますか? 15行7000列のマトリックスを16行7500列の別のマトリックスと組み合わせたいとします。それで1つのデータセットを作成できますか?

42
Dombey

rbindを探しているように聞こえます:

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

同様に、cbindは行列を水平方向に積み重ねます。

最後の質問の意味が完全にはわかりません(「異なる行と列の行列に対してこれを実行できますか?」)

53
NPE

cbindXパッケージからgdata列と行の長さが異なる複数の列を結合します。こちらのページをご覧ください。

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)
6
gawbul