R:将元素插入向量(变体)

时间:2016-02-24 15:28:16

标签: r

我有矢量:

x = 1,2,3,4,5,6,7

我想成功:

x = 1,2,3,0,0,0,4,5,6,0,0,7

将元素0插入x的适当位置ind。我碰巧知道

ind = 4,5,6,10,11

在问题中,ind被指定为新版x中每个插入0的位置。这是一个玩具问题。实际上xind的元素长达1000,内存非常紧张。 我看到一些似乎相关的线程,但它们没有解决问题。给定ind,他们会创建

 x = 1 2 3 4 0 5 0 6 0 7 0 0

这是错误的(它误解了插入点)。

1 个答案:

答案 0 :(得分:0)

一个选项是

v1 <- numeric(length(x)+length(ind))
v1[setdiff(seq_along(v1), ind)]  <- x
v1
#[1] 1 2 3 0 0 0 4 5 6 0 0 7

数据

x <- 1:7
ind <- c(4:6,10:11)