在向量中插入NA元素

时间:2017-06-09 20:00:23

标签: r

我有一个矢量:

x <- c(1,2,3,4)

我想在NA

的每个元素之前添加23个x元素

2 个答案:

答案 0 :(得分:5)

也许是这样的?

c(sapply(x, function(x) c(rep(NA,23),x)))

答案 1 :(得分:1)

我们可以用矢量化

来做到这一点
replace(rep(NA, 23*length(x) + length(x)), rep(c(FALSE, TRUE), c(23, 1)), x) 
#[1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA  1 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
#[43] NA NA NA NA NA  2 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA  3 NA NA NA NA NA NA NA NA NA NA NA NA
#[85] NA NA NA NA NA NA NA NA NA NA NA  4

或另一种选择是创建matrix,将最后一行替换为'x'并将其转换为vector

m1 <- matrix(rep(rep(NA, 24), length(x)), nrow = length(x))
m1[,24] <- x
c(t(m1))