在R中生成具有交替增量的序列?

CIM*_*CIM 5 r list sequence

我想用R来创建数字序列1:8,11:18,21:28等等到1000(或者它可以得到最接近的数字,即998).显然输入全部将是乏味的,但由于序列增加了7倍然后跳过3我不知道我可以使用什么功能来实现这一点.

我试过seq(1, 998, c(1,1,1,1,1,1,1,3))但它没有给我我想要的结果所以我一定做错了.

joe*_*son 7

这是R中矢量化(循环再利用)的完美案例.阅读它们

(1:100)[rep(c(TRUE,FALSE), c(8,2))]
# [1]  1  2  3  4  5  6  7  8 11 12 13 14 15 16 17 18 21 22 23 24 25 26 27 28 31 32
#[27] 33 34 35 36 37 38 41 42 43 44 45 46 47 48 51 52 53 54 55 56 57 58 61 62 63 64
#[53] 65 66 67 68 71 72 73 74 75 76 77 78 81 82 83 84 85 86 87 88 91 92 93 94 95 96
#[79] 97 98
Run Code Online (Sandbox Code Playgroud)

  • @akrun - 你的第一个解决方案似乎是这个解决方案的直接副本?(不是我的投票,顺便说一句) (8认同)

Jea*_*ean 5

rep(seq(0,990,by=10), each=8) + seq(1,8)
Run Code Online (Sandbox Code Playgroud)