与在列表中查找连续数字组和在R中查找连续向量值类似,不同之处在于我有一系列数字,可能多达4个,即
y=c(4*1:4,24,31,33,39,4*16:20)
> y
[1] 4 8 12 16 24 31 33 39 64 68 72 76 80
我希望有一个函数能够返回每个最多相隔4个值的序列,如下所示:
4 8 12 16 # all sep by at most 4
31 33 # all sep by at most 4
64 68 72 76 80 # all sep by at most 4
我尝试了:
st=c(1,which(diff(y)<5)+1)
en=c(st-1,length(y))
y[st]
[1] 4 8 12 16 33 68 72 76 80
y[en]
[1] 4 8 12 31 64 68 72 76 80
毫无效果。
我相信我错过了一些显而易见的东西,并且会感激任何提示。