将序列添加到向量的每个元素

时间:2016-10-20 17:51:44

标签: r

我有一个如下所示的载体

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的功能吗?感谢您对此的意见。

2 个答案:

答案 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