计算特定重复次数

时间:2019-06-06 11:31:38

标签: r

我必须在r中编写代码,其中我必须计算向量中一组特定的数字一次又一次重复的次数。

例如,在下面的一组数字中,我想计算一个数字在其自身之后重复的次数,例如2,2和4,4,或者甚至连续3次在其自身之后重复一次,例如为1,1,1或3,3,3,不计算单个数字在整个集合中出现的次数。

5, 3, 2, 2, 4, 1, 4, 4, 6, 1, 3, 2, 1, 4, 3, 1, 6, 4, 5, 5, 3, 4, 3, 4, 4, 5, 6, 6, 2, 4, 6, 1, 1, 1, 2, 2, 4, 3, 3, 3, 1, 3, 5, 1, 5, 2, 2, 6, 5, 6, 3

1 个答案:

答案 0 :(得分:2)

您可以使用rle查找重复的连续值。例如,

i1 <- rle(x)
setNames(i1$lengths[i1$lengths > 1], paste0('value:', i1$values[i1$lengths > 1]))
#value:2 value:4 value:5 value:4 value:6 value:1 value:2 value:3 value:2 
#      2       2       2       2       2       3       2       3       2 

数据

dput(x)
c(5, 3, 2, 2, 4, 1, 4, 4, 6, 1, 3, 2, 1, 4, 3, 1, 6, 4, 5, 5, 
3, 4, 3, 4, 4, 5, 6, 6, 2, 4, 6, 1, 1, 1, 2, 2, 4, 3, 3, 3, 1, 
3, 5, 1, 5, 2, 2, 6, 5, 6, 3)