R 快速矩阵公式

R 快速矩阵公式,r,matrix,sparse-matrix,R,Matrix,Sparse Matrix,我需要在R中快速插入矩阵到R中的另一个矩阵中。我当前的矩阵形状是块对角形状,如下所示: library(Matrix) block1 <- new("dgCMatrix" , i = c(0L, 1L, 2L, 0L, 1L, 2L, 0L, 1L, 2L, 3L, 4L, 5L, 3L, 4L, 5L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 6L, 7L, 8L, 9L, 6L, 7L, 8L, 9L, 6L, 7L,

我需要在R中快速插入矩阵到R中的另一个矩阵中。我当前的矩阵形状是块对角形状,如下所示:

library(Matrix)
block1  <- new("dgCMatrix" , i = c(0L, 1L, 2L, 0L, 1L, 2L, 0L, 1L, 2L, 3L, 4L, 
           5L, 3L, 4L, 5L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 6L, 7L, 8L, 
           9L, 6L, 7L, 8L, 9L, 6L, 7L, 8L, 9L) , 
   p = c(0L, 3L, 6L, 9L, 12L, 15L, 18L, 22L, 26L, 30L, 34L) , 
   Dim = c(10L, 10L) , Dimnames = list(NULL, NULL) , 
   x = c(1.002, 0.002, 0, 0.002, 1.002, 0.002, 0, 0.002, 1.002,
         1.002, 0.002, 0, 0.002, 1.002, 0.002, 0, 0.002, 1.002, 
         3.002, 1.924, 0.507, 0.055, 1.924, 3.002, 1.924, 
         0.507, 0.507, 1.924, 3.002, 1.924, 0.055, 0.507, 1.924, 3.002) , 
   factors = list())
库(矩阵)

块1如果第一个矩阵是
m1
,那么
m1[4:10,1:6]
也有一些不稀疏的元素。另外,第二个矩阵只有4列。是的,我怎样才能使用block1[4:10,1:6]=block2以外的函数将小矩阵插入到另一个矩阵中呢?block2非常慢。block2是6 x 4,您要替换的部分是7 x 6。这有什么意义?我已经重播了我的矩阵,抱歉弄错了
block2 <- 
  structure(c(0.779, 0.018, 0, 0.779, 0.018, 0, 0.256, 0.169, 0, 0.256, 
            0.169, 0, 0.035, 0.641, 0, 0.035, 0.641, 0, 0.002, 1, 
            0.002, 0.002, 1, 0.002), .Dim = c(6L, 4L))