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

在R语言中从指定向量构造目标矩阵的结果异常问题

这问题我之前也碰到过!R里的matrix()函数默认是按列填充的,所以你直接调用matrix(v, 2, 5)的时候,它会先把向量塞第一列,再第二列,就导致结果不符合预期了。

方法1:用byrow = TRUE参数指定按行填充

这是最直接的办法,只需要在matrix()里加个参数,告诉它按行来排列向量元素:

v <- c(1,1,1,1,1,2,2,2,2,2)
target_matrix <- matrix(v, nrow = 2, ncol = 5, byrow = TRUE)
target_matrix

运行后就能得到你要的结果:

[,1] [,2] [,3] [,4] [,5]

[1,] 1 1 1 1 1
[2,] 2 2 2 2 2

方法2:用rbind()手动合并行

如果不想用matrix()的参数,也可以把向量拆成两行对应的子向量,再用rbind()(行绑定)组合成矩阵:

# 先生成两行的向量,再合并
row1 <- rep(1, 5)
row2 <- rep(2, 5)
target_matrix <- rbind(row1, row2)

或者更简洁的写法,直接在rbind()里生成向量:

target_matrix <- rbind(rep(1,5), rep(2,5))

这个方法也能得到完全一样的目标矩阵。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 15:17:31