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
解决方案
您可以使用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)
推荐阅读
- makefile - 在 AC_OUTPUT() 的参数中使用 PACKAGE_VERSION
- algorithm - 如何找到列表中平均值最高的 x 个连续数字?
- video - 是否可以在视频中包含在线图像?
- python - 如何制作与现有固定方面子图相同宽度的附加子图?
- python - 如何在 Python 中使用 \t 缩进我的代码
- python - 为什么我的程序只删除列表中的所有其他字符?
- python - 遍历嵌套列表并计算元素的平均值
- android - RecyclerView overscrollmode
- javascript - 如何在模态上制作确认删除弹出窗口
- php - 我如何显示来自 api 的 json 数组数据