You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言如何按固定6行间隔转置单列矩阵为10*6矩阵

R实现单列矩阵按每6行分组重组为10行6列矩阵

具体实现

你要的效果是把单列矩阵里按顺序存的60个数值,每6个拿出来当新矩阵的一行,不用复杂的转置操作,两种常用写法都能实现:

  • 维度直接转换(效率最高)
    R的matrix()函数默认按列填充数据,加byrow=TRUE参数就会按行顺序填充,刚好匹配你的分组规则,代码最短,处理大数据的时候速度最快:
# 生成示例矩阵
simple <- matrix(1:60,nrow=60,ncol=1)

# 直接重组得到目标矩阵
result <- matrix(simple, nrow = 10, ncol = 6, byrow = TRUE)

跑出来的结果第一行存1-6,第二行存7-12,最后一行存55-60,完全符合要求。

  • 分组拼接(逻辑直白好改)
    如果需要代码逻辑更易懂,或者后续要给每个分组加额外计算,可以先给原矩阵每行标好组号,拆分后逐行拼起来:
# 每6行标同一个组号,一共10组
group_tag <- rep(1:10, each = 6)
# 按组拆分元素,再按行绑定成矩阵
result <- do.call(rbind, split(simple, group_tag))

结果校验

跑完可以用下面的代码核对结果对不对:

# 查看维度,确认输出是10行6列
dim(result)
# 打印全量结果核对数值顺序
print(result)

内容的提问来源于stack exchange,提问作者TUSTLGC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 15:45:33