2017-07-10 9 views
2

「mat」が私の例で書かれているのと同じ方法で他の行列の行列を埋めたいと思っています(m1とm2は、充填マット)。これを行う関数があれば、誰も知っていますか? Matrixパッケージから行列を他の一連の行列で塗りつぶす

m1 <- matrix (1, nrow = 2, ncol = 2) 
m2 <- matrix (2, nrow = 3, ncol = 3) 
mat <- matrix(c(1,1,0,0,0,1,1,0,0,0,0,0,2,2,2,0,0,2,2,2,0,0,2,2,2), nrow = 5, ncol = 5) 
+0

https://stackoverflow.com/q/17495841を見ましたか? – Zero

答えて

2

はい、bdiag機能。周囲のas.matrixdgCmatrixではなく、それを基本行列に戻します。

library(Matrix) 
as.matrix(bdiag(list(m1, m2))) 

    [,1] [,2] [,3] [,4] [,5] 
[1,] 1 1 0 0 0 
[2,] 1 1 0 0 0 
[3,] 0 0 2 2 2 
[4,] 0 0 2 2 2 
[5,] 0 0 2 2 2 
+0

素晴らしい!ありがとう! –

関連する問題