我有一个如下所示的载体
x <- c(1,32,60,86,115,142,171,198)
我想为矢量的每个元素创建一个序列seq(x [i],x [i] + 2,by = 1)。得到的矢量应该是
1,2,3,32,33,34,60,61,62,86,87,88 .....
我想知道是否有类似于rep的功能吗?感谢您对此的意见。
答案 0 :(得分:6)
我们可以使用矢量化rep
rep(x, each = 3) + 0:2
#[1] 1 2 3 32 33 34 60 61 62 86 87 88 115 116 117 142 143
#[18] 144 171 172 173 198 199 200
答案 1 :(得分:1)
您可以使用saaply
循环遍历x
的每个元素并生成seq
个数字并将其与c
c(sapply(x, function(x) seq(x, x+2)))
# [1] 1 2 3 32 33 34 60 61 62 86 87 88 115 116 117 142 143 144 171 172 173
# 198 199 200