将2个方阵组合成另一个方阵与R中的所有元素

Combining 2 square matrices into another square matrix with all elements in R

我正在尝试将两个不同维数的方阵组合成一个方阵,其维数是原始两个方阵的和。我有一个 392 x 392 的矩阵和另一个 497 x 497 的矩阵。我想要的是第三个 889 x 889。

例如,如果我有如下所述的矩阵 a 和矩阵 b:

a <- matrix(sample(0:1, 25, replace=T), nrow=5, ncol=5)
b <- matrix(rep(0,16 ), nrow=4, ncol=4)
rownames(a) <- letters[1:5]
colnames(a) <- letters[1:5]
rownames(b) <- letters[6:9]
colnames(b) <- letters[6:9]

如何得到如下所示的矩阵 c:

{c <- matrix(c(0,1,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), nrow=10,ncol=10)

我尝试了 gdata 包中的 cbindX 以及该站点的其他一些解决方案,但没有任何效果。感谢您的帮助!

如果我真的理解了问题... 使用这个:

C <- Matrix::bdiag(a, b) %>% 
        as.matrix

此命令将创建一个分块对角矩阵