gpt4 book ai didi

r - 在向量内的不同位置添加一系列元素

转载 作者:行者123 更新时间:2023-12-04 09:34:37 24 4
gpt4 key购买 nike

我的目标是将多个元素插入到一个向量中,每个元素位于不同的位置。这是一个例子,后面是一些不起作用的试验。

w  <- c( 1,3,2,4,2,3,2,4,5,7,9,3,2,4,2,5,7,4,2 )
u <- c( 3,7,9,12 )
o <- c( 10 , 20 , 30 , 40 )

我试过了:
append ( w , o , after = u )  

# which adds the series one time in the first location of after

fun <- function (x) append ( w , o[[x]] , after = u[[x]] )
lapply ( seq ( length ( u )) , fun )

# which adds one element to the list each time for a new vector producing a number of vectors

for (i in length(o)) {
append ( w , o[[i]] , after = u[[i]] )
}
# which basically does nothing

期望输出
1,3,2,10,4,2,3,2,20,4,5,30,7,9,3,40,2,4,2,5,7,4,2

有没有办法在每个特定位置一次插入一个元素?我已经看到几个问题解决了单个元素的 append basic 问题,将一个位置或两个元素添加到同一位置,但没有将多个元素添加到向量中的多个位置。

最佳答案

这是执行此操作的另一种矢量化方法

New <- rep(w, (1:2)[(1:length(w) %in% u) + 1])
New[u + 1:length(u)] <- o
New
# [1] 1 3 2 10 4 2 3 2 20 4 5 30 7 9 3 40 2 4 2 5 7 4 2

这基本上适用于子集向量技术,通过提取 u 中的值两次并用来自 o 的值重新分配它们

关于r - 在向量内的不同位置添加一系列元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36105673/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com