使用rep()和seq()创建一个向量

时间:2017-09-12 11:35:29

标签: r seq rep

如何创建矢量序列:

2 3 4 5 6 7 8 3 4 5 6 7 8 4 5 6 7 8 5 6 7 8 6 7 8 7 8

我试图使用:

2:8+rep(0:6,each=6)

但结果是:

2 3 4 5 6 7 8 3 4 5 6 7 8 9 4 5 6 7 8 9 10 .... 12 13 14

请帮忙。感谢。

2 个答案:

答案 0 :(得分:0)

你可以这样做:

library(purr)
unlist(map(2:7, ~.x:8))

# [1] 2 3 4 5 6 7 8 3 4 5 6 7 8 4 5 6 7 8 5 6 7 8 6 7 8 7 8

和基础R中的一点功能:

funky_vec <- function(from,to){unlist(sapply(from:(to-1),`:`,to))}
funky_vec(2,8)
# [1] 2 3 4 5 6 7 8 3 4 5 6 7 8 4 5 6 7 8 5 6 7 8 6 7 8 7 8

答案 1 :(得分:0)

这应该完成你正在寻找的东西:

x = 2
VecSeq = c(x:8)

while (x < 7) {
    x = x + 1
    calc = c(x:8)
    VecSeq = c(VecSeq, calc)
}

VecSeq # Your desired vector