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

如何在R语言中按行填充将向量转换为数组?

按行填充向量为数组的实现方法

R中默认的数组/矩阵填充规则是按列优先,所以你之前的代码会得到按列排列的结果。要实现按行填充,有两种简单的方法:

方法1:使用matrix()函数指定byrow=TRUE

matrix()函数支持直接设置填充方向,byrow=TRUE参数会让向量按行依次填充到矩阵中(二维数组本质就是矩阵,若需要显式转为数组,用as.array()转换即可)。

示例代码:

v = c(1,2,3,4,5,6)
# 生成按行填充的二维数组(矩阵)
M = matrix(data = v, nrow = 2, ncol = 3, byrow = TRUE)

运行结果:

> M
     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    4    5    6

方法2:调整array()的填充逻辑

如果你一定要用array()函数,可以通过以下两种方式实现按行填充:

方式A:转置默认数组

先按默认规则生成对应维度的数组,再通过转置得到目标结果:

v = c(1,2,3,4,5,6)
# 先生成3行2列的数组,再转置为2行3列
M = t(array(data = v, dim = c(3,2)))

方式B:指定order参数改变填充维度顺序

通过order参数调整维度遍历的优先级,让列维度先遍历,从而实现按行填充:

v = c(1,2,3,4,5,6)
M = array(data = v, dim = c(2,3), order = c(2,1))

两种方式最终都会得到你期望的按行填充结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 19:45:29