在R中按比例放大矩阵

在R中按比例放大矩阵,r,matrix,R,Matrix,我有一个2行2列的矩阵,我想放大这个矩阵,使它有4行4列,其中的值相同。就像一个人要“放大”矩阵一样 这是我的2*2矩阵: a<-matrix(1:4,nrow=2,byrow=TRUE) [,1] [,2] [1,] 1 2 [2,] 3 4 我简化了问题:矩阵中的值只是一个例子。我要转换的真正矩阵由10行和10列组成,应转换为30行和30列,但原理应相同。 我即将用循环解决这个问题,但我相信一定有更优雅的方法。参见 放大非常优雅!非常感谢。

我有一个2行2列的矩阵,我想放大这个矩阵,使它有4行4列,其中的值相同。就像一个人要“放大”矩阵一样

这是我的2*2矩阵:

a<-matrix(1:4,nrow=2,byrow=TRUE)

     [,1] [,2]
[1,]    1    2
[2,]    3    4
我简化了问题:矩阵中的值只是一个例子。我要转换的真正矩阵由10行和10列组成,应转换为30行和30列,但原理应相同。
我即将用循环解决这个问题,但我相信一定有更优雅的方法。

参见


放大非常优雅!非常感谢。
     [,1] [,2] [,3] [,4]
[1,]    1    1    2    2
[2,]    1    1    2    2
[3,]    3    3    4    4
[4,]    3    3    4    4
enlarge <- function(m, k) kronecker(m, matrix(1, k, k))
enlarge(a, 2)
#      [,1] [,2] [,3] [,4]
# [1,]    1    1    2    2
# [2,]    1    1    2    2
# [3,]    3    3    4    4
# [4,]    3    3    4    4
enlarge(a, 3)
#      [,1] [,2] [,3] [,4] [,5] [,6]
# [1,]    1    1    1    2    2    2
# [2,]    1    1    1    2    2    2
# [3,]    1    1    1    2    2    2
# [4,]    3    3    3    4    4    4
# [5,]    3    3    3    4    4    4
# [6,]    3    3    3    4    4    4