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

如何在R语言中交替逐行合并两个单列矩阵?

解决R语言两个单列矩阵交替逐行合并的问题

给定两个单列矩阵:

test1 <- matrix(1:5, ncol=1)
test2 <- matrix(6:10, ncol=1)

需要将它们交替逐行合并为单列矩阵,预期输出:

expected_output <- matrix(c(1,6,2,7,3,8,4,9,5,10),ncol=1)

方法一:向量索引重组

先将矩阵转为向量,通过构造交替索引提取元素,再转为矩阵:

# 转为向量
vec1 <- as.vector(test1)
vec2 <- as.vector(test2)

# 生成交替位置的索引
idx <- c(rbind(seq_along(vec1), seq_along(vec2)))

# 提取元素并转为单列矩阵
result <- matrix(c(vec1, vec2)[idx], ncol=1)

方法二:列合并+转置(更简洁)

利用cbind按列合并两个矩阵,转置后再转为单列矩阵,一步到位:

result <- matrix(t(cbind(test1, test2)), ncol=1)

验证结果

可以用all.equal()确认结果与预期一致:

all.equal(result, expected_output) # 返回TRUE,说明结果正确

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 16:40:56