R 使用append添加两个值

R 使用append添加两个值,r,vector,insert,R,Vector,Insert,我正在学习如何使用这个程序。 我有一个值为X的向量。我需要在向量中的值11后加一个零,所以我使用了函数append: X<- append(X, 0, after=11) X如果我们在多个位置插入 nvalues <- 2 pos <- c(3, 5, 7) pos1 <- c(pos[1], seq_along(pos[-1]) * nvalues + pos[-1]) for(i in seq_along(pos)) X <- append(vec, c(0,

我正在学习如何使用这个程序。 我有一个值为X的向量。我需要在向量中的值11后加一个零,所以我使用了函数append:

X<- append(X, 0, after=11)

X如果我们在多个位置插入

nvalues <- 2
pos <- c(3, 5, 7)
pos1 <- c(pos[1], seq_along(pos[-1]) * nvalues + pos[-1])
for(i in seq_along(pos)) X <- append(vec, c(0, 0), after = pos1[i])
X
#[1]  3  4  2  0  0  5  3  0  0  9 10  0  0 12 14

n如果我们在多个位置插入,则值

nvalues <- 2
pos <- c(3, 5, 7)
pos1 <- c(pos[1], seq_along(pos[-1]) * nvalues + pos[-1])
for(i in seq_along(pos)) X <- append(vec, c(0, 0), after = pos1[i])
X
#[1]  3  4  2  0  0  5  3  0  0  9 10  0  0 12 14

n我解释的值是错误的。3不是一个值,是一个值的位置。我有很多值,例如50,我需要在3和4个位置之间添加一个0,这就是为什么我使用append(X,0,after=3),但是现在我需要在更多的位置添加0,因此,我需要知道在后面的参数中指示谁=有多个position@manuSánchez你能用一个好的例子和预期的结果来更新吗output@manuSánchez你可以检查我更新的解决方案它不起作用。。。等我解释错了,我会尽量解释得更好。3不是一个值,是一个值的位置。我有很多值,例如50,我需要在3和4个位置之间添加一个0,这就是为什么我使用append(X,0,after=3),但是现在我需要在更多的位置添加0,因此,我需要知道在后面的参数中指示谁=有多个position@manuSánchez你能用一个好的例子和预期的结果来更新吗output@manuSánchez你可以检查我更新的解决方案它不起作用。。。我会尽量解释清楚的等等
f1 <- function(vec, nvalues, posvec, value) {
    posvec1 <- c(posvec[1], seq_along(posvec[-1]) * nvalues + 
           posvec[-1])
    for(i in seq_along(posvec)) vec <-  append(vec, 
               rep(value, nvalues), after = posvec1[i])
    vec
 }



f1(X, 1, c(3, 5, 7), 0)
#[1]  3  4  2  0  5  3  0  9 10  0 12 14
f1(X, 2, c(3, 5, 7), 0)
#[1]  3  4  2  0  0  5  3  0  0  9 10  0  0 12 14
f1(X, 3, c(3, 5, 7), 0)
#[1]  3  4  2  0  0  0  5  3  0  0  0  9 10  0  0  0 12 14
X <- c(3, 4, 2, 5, 3, 9, 10, 12, 14)