从特定间隔序列创建向量

时间:2019-09-25 09:36:40

标签: r vector range sequence intervals

我有20个间隔:

从1到250(大小为25)的10个间隔:

[1.25] [26.50] [51.75] [76.100] [101.125] [126.150] ... [226.250]

从251到1000的10个间隔,大小为75:

[251,325] [326,400] [401,475] [476,550] [551,625] ... [926,1000]

我想创建一个由每个间隔的前5个元素组成的向量,例如:

(1,2,3,5, 26,27,28,29,30, 51,52,53,54,55, 76,77,78,79,80, ...., 
251,252,253,254,255, 326,327,328,329,330, ...)

如何使用R创建此向量?

1 个答案:

答案 0 :(得分:1)

假设您有两个间隔:

interval1 <- seq(1.25, 226.250, 25)
interval2 <- seq(251, 1000, 75)

我们可以创建一个将两者结合起来的新间隔,然后使用mapply创建序列

new_interval <- c(as.integer(interval1), interval2)
c(mapply(`:`, new_interval, new_interval + 4))
 #[1]   1   2   3   4   5  26  27  28  29  30  51  52  53  54 .....
 #[89] ..... 779 780 851 852 853 854 855 926 927 928 929 930