我必须在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
答案 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)