如何在R中的交替位置处向量填充零

时间:2013-02-11 05:13:33

标签: r

我是R语言的新手。我遇到了需要在向量中的备用位置填充零的情况。例如:

v<-c(1,2,3,4,5,6,7,8,9,10)

我需要像

这样的新矢量
0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 10

我尝试使用for循环填充零但我无法做到。

3 个答案:

答案 0 :(得分:7)

我确信有很多解决方案,但

as.vector(rbind(0,v))
 [1]  0  1  0  2  0  3  0  4  0  5  0  6  0  7  0  8  0  9  0 10

会这样做。

答案 1 :(得分:5)

几种方法

创建一个零向量,然后替换正确的索引

x1 <- rep(0, length(x)*2)
x1[seq(2,20,by=2)] <- x

或使用Mapc

 unlist(Map(c,0,x))

答案 2 :(得分:3)

只是为了踢:

v <- c(1,2,3,4,5,6,7,8,9,10)
c(mapply(c, 0, v))