如何获得每次运行的最后一个元素的索引?
例如:让我们考虑一个向量
x=c(1,2,3,4,4,4,5,6,6,7,8,9,9,9,9)
想要获得输出向量
x1=1 2 3 6 7 9 10 11 15
尝试使用:
rank(x)
它没有给出期望的结果。
(可能是骗子,但您去了。)
您可以使用的魔力?rle
结合cumsum
:
cumsum(rle(x)$lengths)
#[1] 1 2 3 6 7 9 10 11 15
输出rle
为:
rle(x)
#Run Length Encoding
# lengths: int [1:9] 1 1 1 3 1 2 1 1 4
# values : num [1:9] 1 2 3 4 5 6 7 8 9
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句