用零扩展R矩阵的末端

时间:2016-04-29 13:40:54

标签: r matrix

我从其他数据中提取了一个固定维度的矩阵,并希望在此矩阵的末端有效地添加零和行的零,因为我重复了1000多次,现在我使用了一个循环和cbind和rbind。有没有更简单的方法呢?

##my actual matrix is real data of fixed dimension.. so i can't simply 
##initialize a larger matrix like I could in this example..

my_matrix <- matrix(1,ncol=10,nrow=10)
for(i in 1:10){
   my_matrix <- cbind(my_matrix,0)
   my_matrix <- rbind(my_matrix,0)
 }

1 个答案:

答案 0 :(得分:3)

for循环中的附加cbindrbind非常慢。这样做是这样的:

new_mat <- matrix(0, ncol=20,nrow=20)
new_mat[1:nrow(my_matrix), 1:ncol(my_matrix)] <- my_matrix

说明:创建所需尺寸的零矩阵,然后用数据替换相关的子集区域