<分区>
如果我有一个数值向量 [1 2 3 4 7 8 9 10 15 16 17],我该如何拆分它以便返回多个向量来分隔该向量的连续元素? IE。 [1 2 3 4] [7 8 9 10] [15 16 17]。我已经找到了如何在 matlab 中执行此操作的答案,但我只使用 R。
谢谢。
<分区>
如果我有一个数值向量 [1 2 3 4 7 8 9 10 15 16 17],我该如何拆分它以便返回多个向量来分隔该向量的连续元素? IE。 [1 2 3 4] [7 8 9 10] [15 16 17]。我已经找到了如何在 matlab 中执行此操作的答案,但我只使用 R。
谢谢。
最佳答案
这是另一种选择:
vec <- c( 1, 2, 3, 4, 7, 8, 9, 10, 15, 16, 17 )
split(vec, cumsum(seq_along(vec) %in% (which(diff(vec)>1)+1)))
# $`0`
# [1] 1 2 3 4
#
# $`1`
# [1] 7 8 9 10
#
# $`2`
# [1] 15 16 17
关于r - 将数字向量拆分为 R 中的连续 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18508363/