以下向量x
包含两个序列1:4
和6:7
,其他非连续数字之间.
x <- c(7, 1:4, 6:7, 9)
Run Code Online (Sandbox Code Playgroud)
我想x
按顺序拆分,以便结果如下所示.
# [[1]]
# [1] 7
#
# [[2]]
# [1] 1 2 3 4
#
# [[3]]
# [1] 6 7
#
# [[4]]
# [1] 9
Run Code Online (Sandbox Code Playgroud)
有一种快速简单的方法吗?
我试过了
split(x, c(0, diff(x)))
Run Code Online (Sandbox Code Playgroud)
接近,但我不想附加0
差异向量是正确的方法.使用findInterval
也没有用.
Rol*_*and 16
split(x, cumsum(c(TRUE, diff(x)!=1)))
#$`1`
#[1] 7
#
#$`2`
#[1] 1 2 3 4
#
#$`3`
#[1] 6 7
#
#$`4`
#[1] 9
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
976 次 |
最近记录: |