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