是否有从较小的块构建矩阵的通用功能,即构建矩阵
A B
C D
来自矩阵A,B,C,D?
当然,有一种明显的方法可以创建一个空的大矩阵并使用子索引,但是难道没有更简单,更容易甚至更快的东西吗?
答案 0 :(得分:3)
以下是一些基本的R解决方案。也许您可以使用
M <- rbind(cbind(A,B),cbind(C,D))
或
u <- list(list(A,B),list(C,D))
M <- do.call(rbind,Map(function(x) do.call(cbind,x),u))
示例
A <- matrix(1:4,nrow = 2)
B <- matrix(1:6,nrow = 2)
C <- matrix(1:6,ncol = 2)
D <- matrix(1:9,nrow = 3)
这样
> M
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 1 3 5
[2,] 2 4 2 4 6
[3,] 1 4 1 4 7
[4,] 2 5 2 5 8
[5,] 3 6 3 6 9