首页 > 解决方案 > 从 R 中的向量元素创建数字序列列表

问题描述

我有一个数字向量如下:

x <- c(1, 10, 11, 15, 16, 21, 22, 26, 27, 31,
       32, 36, 37, 41, 42, 46, 47, 51, 52, 56)

我想创建一个在第一个和第二个元素、第三个和第四个元素、第五个和第六个元素等之间运行的数字序列列表。

预期结果如下:

[[1]]
[1] 1  2  3  4  5  6  7  8  9 10

[[2]]
[1] 11 12 13 14 15

[[3]]
[1] 16 17 18 19 20 21

[[4]]
[1] 22 23 24 25 26

[[5]]
[1] 27 28 29 30 31

[[6]]
[1] 32 33 34 35 36

[[7]]
[1] 37 38 39 40 41

[[8]]
[1] 42 43 44 45 46

[[9]]
[1] 47 48 49 50 51

[[10]]
[1] 52 53 54 55 56

我更喜欢基础 R 中的解决方案。

标签: r

解决方案


将 seq 应用于 的奇数和偶数定位值x

Map(seq, x[c(TRUE, FALSE)], x[c(FALSE, TRUE)])

这可以写得更紧凑,如下所示:

Map(seq, x[!0:1], x[!1:0])

推荐阅读