Mik*_*ike 5 arrays r sequential
我有一个包含多个数字的数组,我事先不知道这些数字是什么.我想将数组中与前一个数字不连续的数字分开(除了序列中的第一个数字).
例如:数组: 2 3 4 5 10 11 12 15 18 19 20 23 24
我想回来 2 10 15 18 23
原始数组可以是可变长度的,包括长度为零
谢谢
akr*_*run 11
尝试
v1 <- c(2:5,10:12,15, 18:20, 23:24)
v1[c(TRUE,diff(v1)!=1)]
#[1] 2 10 15 18 23
Run Code Online (Sandbox Code Playgroud)
如果您想获得最后一个序号,请尝试
v1[c(diff(v1)!=1, TRUE)]
#[1] 5 12 15 20 24
Run Code Online (Sandbox Code Playgroud)
奇怪的是:-),我来介绍一下我的作品之一: cgwtools:seqle 。seqle的工作原理类似,rle但返回序列运行,而不是重复运行。
foo<- c(2,3,4,5,10,11,12,15,18,19,20,23,24)
seqle(foo)
Run Length Encoding
lengths: int [1:5] 4 3 1 3 2
values : num [1:5] 2 10 15 18 23
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
680 次 |
| 最近记录: |