从R中的较小矩阵创建矩阵

时间:2020-01-07 14:54:08

标签: r

是否有从较小的块构建矩阵的通用功能,即构建矩阵

A B
C D

来自矩阵A,B,C,D?

当然,有一种明显的方法可以创建一个空的大矩阵并使用子索引,但是难道没有更简单,更容易甚至更快的东西吗?

1 个答案:

答案 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