如何快速将矩阵第59行复制到下一行生成新矩阵?
无需自定义函数的矩阵行复制快速实现方法
针对你提到的需求(将365行288列的矩阵a的第59行复制插入到下一行,生成366行的矩阵b),有两种无需编写自定义函数的快速实现方式,都是利用R语言的原生索引操作:
方法一:直接拆分拼接
通过rbind()将原矩阵拆分为三部分拼接:前59行、单独的第59行、剩余的60到365行,代码如下:b <- rbind(a[1:59, ], a[59, ], a[60:365, ])方法二:构造行索引向量
先创建包含目标行顺序的索引向量(在原1-365的索引中,第60位插入59),再用该索引提取矩阵行:row_idx <- c(1:58, 59, 59, 60:365) b <- a[row_idx, ]
这两种方式都是基于R的原生向量/矩阵操作,执行效率高,且不需要额外定义函数。
内容的提问来源于stack exchange,提问作者sehne
相关产品推荐
相关产品推荐

