计算向量中连续出现的次数

登山者

我有以下向量:

vec <- c(28, 44, 45, 46, 47, 48, 61, 62, 70, 71, 82, 83, 104, 105, 111, 115, 125, 136, 137, 138, 146, 147, 158, 159, 160, 185, 186, 187, 188, 189, 190, 191, 192, 193, 209, 263, 264, 265, 266, 267, 268, 280, 283, 284, 308, 309, 318, 319, 324, 333, 334, 335, 347, 354)

现在我想获得最小长度为 2 的向量中连续出现的次数。所以这里这对以下情况有效:

44, 45, 46, 47, 48
61, 62
70, 71
82, 83
104, 105
136, 137, 138
146, 147
158, 159, 160
185, 186, 187, 188, 189, 190, 191, 192, 193
263, 264, 265, 266, 267, 268
283, 284
308, 309
318, 319
333, 334, 335

所以有14次连续数字的情况,我只需要整数14作为输出。

有人知道如何做到这一点吗?

巴斯蒂安·杜克勒

我们可以使用rlediff函数:

a=rle(diff(vec))
sum(a$values==1)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章