Dividir un vector por sus secuencias [duplicado]
Esta pregunta ya tiene una respuesta aquí:
¿Cómo dividir un vector en grupos de secuencias regulares consecutivas? 5 respuestasEl siguiente vectorx
contiene las dos secuencias1:4
y6:7
, entre otros dígitos no secuenciales.
x <- c(7, 1:4, 6:7, 9)
Me gustaría dividirx
por sus secuencias, de modo que el resultado es una lista como la siguiente.
# [[1]]
# [1] 7
#
# [[2]]
# [1] 1 2 3 4
#
# [[3]]
# [1] 6 7
#
# [[4]]
# [1] 9
¿Hay una manera rápida y sencilla de hacer esto?
He intentado
split(x, c(0, diff(x)))
que se acerca, pero no tengo ganas de agregar0
al vector diferenciado es el camino correcto a seguir. UtilizandofindInterval
tampoco funcionó.