r - 计算单个列中值的连续出现

标签 r count find-occurrences

我希望在每次运行时都创建一个相等值的序号,例如出现次数计数器,一旦当前行中的值与上一行不同,该序号就会重新开始。

请在下面找到输入和预期输出的示例。

dataset <- data.frame(input = c("a","b","b","a","a","c","a","a","a","a","b","c"))
dataset$counter <- c(1,1,2,1,2,1,1,2,3,4,1,1)
dataset

#    input counter
# 1      a       1
# 2      b       1
# 3      b       2
# 4      a       1
# 5      a       2
# 6      c       1
# 7      a       1
# 8      a       2
# 9      a       3
# 10     a       4
# 11     b       1
# 12     c       1

我的问题与这一问题非常相似:Cumulative sequence of occurrences of values

最佳答案

您需要使用sequencerle:

> sequence(rle(as.character(dataset$input))$lengths)
 [1] 1 1 2 1 2 1 1 2 3 4 1 1

关于r - 计算单个列中值的连续出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19998836/

相关文章:

r - R中的多重相关系数

r - 如何在 r 中按月创建具有聚合值的新数据集?

python - 使用 panda 在表列中查找出现

R - 数据框中两组之间的差异

r - 将两个不同长度的字符向量粘贴在一起

mysql - 如何加入mysql

java - 二元搜索的比较次数

mysql - SQL:基于多对多表的条件下的不同用户数

python - 在 CSV 文件中查找多次出现的对

c++ - 该程序接受用户输入的字符并按出现的降序显示它们