R 行绑定矩阵,除一行外,将所有行归零

R 行绑定矩阵,除一行外,将所有行归零,r,matrix,R,Matrix,给定一个矩阵 a <- matrix(c(15,2,11,16,7,12,1,8,3), nrow=3, ncol=3, byrow=T) 我可以通过rbind(a[1,0,0,0,0,a[2,0,0,0,a[3,0])来实现这一点,但是在处理大型矩阵时,有没有更好的方法?这个方法呢: apply(a, 2, function(r) rbind(r, matrix(rep(0,9), nrow=3)))[1:9, ] 这个怎么样: apply(a, 2, function(r) rbi

给定一个矩阵

a <- matrix(c(15,2,11,16,7,12,1,8,3), nrow=3, ncol=3, byrow=T)
我可以通过rbind(a[1,0,0,0,0,a[2,0,0,0,a[3,0])来实现这一点,但是在处理大型矩阵时,有没有更好的方法?

这个方法呢:

apply(a, 2, function(r) rbind(r, matrix(rep(0,9), nrow=3)))[1:9, ]
这个怎么样:

apply(a, 2, function(r) rbind(r, matrix(rep(0,9), nrow=3)))[1:9, ]
      [,1] [,2] [,3]
 [1,]   15    2   11
 [2,]    0    0    0
 [3,]    0    0    0
 [4,]    0    0    0
 [5,]   16    7   12
 [6,]    0    0    0
 [7,]    0    0    0
 [8,]    0    0    0
 [9,]    1    8    3
matrix(t(cbind(a,matrix(0,3,9))),ncol=3,byrow=T)[1:9,]
      [,1] [,2] [,3]
 [1,]   15    2   11
 [2,]    0    0    0
 [3,]    0    0    0
 [4,]    0    0    0
 [5,]   16    7   12
 [6,]    0    0    0
 [7,]    0    0    0
 [8,]    0    0    0
 [9,]    1    8    3