这个问题与此identify whenever values repeat in r相关
在寻找答案时出现了这个新问题:
我有这个向量:
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,...
但是 它应该允许关系 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? ,但无法将其转移到我想要的位置。
最佳答案
一个选项是 diff
和 cumsum
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
关于r - 如何识别每个整数序列而不考虑向量中的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71973948/