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

如何在R语言中按指定顺序基于已有向量创建新向量?

R语言向量按成对顺序生成新向量的解决方法

你需要将原向量的每个元素与对应的元素.1成对排列,而非先全部原元素再全部后缀元素,以下几种方法可以实现需求:

方法1:使用Map生成配对后展开

vec <- c("x", "y", "z")
new_vec <- unlist(Map(c, vec, paste0(vec, ".1")))
new_vec

执行结果:

[1] "x"   "x.1" "y"   "y.1" "z"   "z.1"

方法2:构造矩阵转置后转为向量

vec <- c("x", "y", "z")
new_vec <- as.vector(t(matrix(c(vec, paste0(vec, ".1")), nrow = 2)))
new_vec

该方法通过将原向量和后缀向量按行组成矩阵,转置后再转为向量,实现成对排列。

方法3:通过索引重新排序合并后的向量

如果已经合并了原向量和后缀向量,可以通过索引重新调整顺序:

vec <- c("x", "y", "z")
combined <- c(vec, paste0(vec, ".1"))
new_vec <- combined[rep(1:length(vec), each = 2) + c(0, length(vec))]
new_vec

这里利用rep生成重复的原元素索引,加上原向量长度来定位对应的后缀元素,从而实现成对排列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 13:54:58