如何识别每个整数序列而不考虑向量中的关系

How to identify each integer sequence regardless of ties in a vector

这个问题与

相关

在寻找答案时出现了这个新问题:

我有这个向量:

vector <- c(1, 1, 2, 3, 5, 6, 6, 7, 1, 1, 1, 1, 2, 3, 3)

我想识别每个连续的(乘以 1)整数序列,例如1,2,3,.. 或 3,4,5,.. 或 4,5,6,7,...

但是 它应该允许 ties 1,1,2,3,.. 或 3,3,4,5,... 或 4,5,5,6,6,7

预期的输出将是一个如下列表:

sequence1 <- c(1, 1, 2, 3)
sequence2 <- c(5, 6, 6, 7)
sequence3 <- c(1, 1, 1, 1, 2, 3, 3)

到目前为止,我在这里找到了最近的方法 Check whether vector in R is sequential?,但无法将其转换为我想要的。

一个选项是 diffcumsum

split(vector, cumsum(c(TRUE, abs(diff(vector)) > 1)))

-输出

`1`
[1] 1 1 2 3

$`2`
[1] 5 6 6 7

$`3`
[1] 1 1 1 1 2 3 3