Các vector sau x
chứa hai chuỗi 1:4
và 6:7
, trong số các chữ số không tuần tự khác.Tách một vector theo các dãy của nó
x <- c(7, 1:4, 6:7, 9)
Tôi muốn tách x
theo trình tự của nó, để kết quả là danh sách như sau.
# [[1]]
# [1] 7
#
# [[2]]
# [1] 1 2 3 4
#
# [[3]]
# [1] 6 7
#
# [[4]]
# [1] 9
Có cách nào đơn giản và nhanh chóng để thực hiện việc này không?
Tôi đã thử
split(x, c(0, diff(x)))
mà được gần gũi, nhưng tôi không cảm thấy như phụ 0
vào vector differenced là đúng cách để đi. Sử dụng findInterval
cũng không hoạt động.