在R中连接矩阵

ulr*_*ich 1 r matrix

我有一个矩阵列表.我如何附加这些矩阵来获得单个矩阵?

样品:

> matrix(1, nrow=2, ncol=3)
     [,1] [,2] [,3]
 [1,]    1    1    1
 [2,]    1    1    1
> matrix(2, nrow=3, ncol=2)
     [,1] [,2] 
[1,]    2    2 
[2,]    2    2 
[3,]    2    2 
> m1 <- matrix(1, nrow=2, ncol=3)
> m2 <- matrix(2, nrow=3, ncol=2)
Run Code Online (Sandbox Code Playgroud)

现在我们可以在列表中包含许多矩阵,假设我们只有两个:

l <- list(m1, m2)
Run Code Online (Sandbox Code Playgroud)

我希望实现以下目标:

     [,1] [,2] [,3] [,4] [,5]
[1,]    1    1    1
[2,]    1    1    1
[3,]                  2    2    
[4,]                  2    2    
[5,]                  2    2    
Run Code Online (Sandbox Code Playgroud)

akr*_*run 5

你可以试试 bdiag

library(Matrix)
bdiag(l)
#5 x 5 sparse Matrix of class "dgCMatrix"
#          
#[1,] 1 1 1 . .
#[2,] 1 1 1 . .
#[3,] . . . 2 2
#[4,] . . . 2 2
#[5,] . . . 2 2

 as.matrix(bdiag(l)) #will convert to `matrix` with `0` replacing the `.`
Run Code Online (Sandbox Code Playgroud)