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

如何在R语言中向向量vec_1的每个元素后插入vec_2的值?

实现方法

这里有几种在R中实现需求的方式,适用于不同场景:

方法1:基础R简洁实现

利用Map函数将vec_1的每个元素与vec_2拼接成子向量,再用unlist合并成最终向量:

vec_1 <- c(1,5,9)
vec_2 <- 9

end_result <- unlist(Map(c, vec_1, list(vec_2)))
# 输出:[1] 1 9 5 9 9 9

如果vec_2是多元素向量(比如c(9,8)),这个方法同样有效,会自动在vec_1每个元素后插入完整的vec_2。

方法2:索引手动填充

适合需要精细控制元素位置的场景,先创建目标长度的空向量,再分别填充vec_1和vec_2的元素:

vec_1 <- c(1,5,9)
vec_2 <- 9

elem_per_group <- 1 + length(vec_2)
total_len <- length(vec_1) * elem_per_group
end_result <- vector(mode = typeof(vec_1), length = total_len)

# 填充vec_1的元素,位置为每组的第一个
end_result[seq(1, total_len, by = elem_per_group)] <- vec_1
# 循环填充每组的vec_2部分
for (i in seq_along(vec_1)) {
  start <- (i-1)*elem_per_group + 2
  end <- start + length(vec_2) - 1
  end_result[start:end] <- vec_2
}

方法3:tidyverse风格实现

如果你习惯使用tidyverse工具包,可以用purrr的map+flatten_dbl组合:

library(purrr)

vec_1 <- c(1,5,9)
vec_2 <- 9

end_result <- vec_1 %>% map(c, vec_2) %>% flatten_dbl()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 18:42:39