r - 从向量中提取重复 n 次的元素 (R)

我会尽力说明我的观点。想象一下,我有一个长度和/或内容未知的矢量,如下一个:

col.vector = c(1, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5)

我想提取所有重复“n”次的元素。比方说 3 次,然后我想返回一个包含相应元素的向量:c(3, 4)

有没有什么简单的功能?

最佳答案

如果它是基于频率的,我们可以使用table

v1 <- table(col.vector)
as.integer(names(v1)[v1 == 3])
[1] 3 4

如果是基于重复元素,使用rleid

library(data.table)
v1 <- table(rleid(col.vector))
as.integer(names(v1)[v1 == 3])

https://stackoverflow.com/questions/68231201/

相关文章:

rust - Crate 和 Package 之间的确切区别是什么?

r - 从 R 中的其他数据帧更新列中的某些值

java - 将小写的短工作日解析为 Java 8 的时间 DayOfWeek

python - 如何在 python 中循环函数 def,直到我写下数字 0

common-lisp - 为什么在这种情况下 find 函数返回 NIL?

c++ - 如何在 C++ 中分解指向成员的指针(获取类和成员类型)?

postgresql - 为什么我的 PostgreSQL 在 CURRENT_TIMESTAMP

r - 根据列中的值创建新行?

php - Laravel Sail 部署就绪了吗

javascript - 一个数组中的字符串在另一个数组中存在多少次?