【问题标题】:expand extremities of R matrix with zeroes用零扩展 R 矩阵的端点
【发布时间】:2016-04-29 13:40:54
【问题描述】:

我有一个从其他数据中提取的矩阵,它是一个固定维度,并且希望在我重复该过程 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)
 }

【问题讨论】:

    标签: r matrix


    【解决方案1】:

    在 for 循环中添加 cbindrbind 真的很慢。改为这样做:

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

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

    【讨论】:

      猜你喜欢
      • 2012-06-07
      • 2017-10-31
      • 1970-01-01
      • 2014-07-19
      • 1970-01-01
      • 2018-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多