R 使用append添加两个值
我正在学习如何使用这个程序。 我有一个值为X的向量。我需要在向量中的值11后加一个零,所以我使用了函数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<- 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)