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/

相关文章:

javascript - 如何使用 JavaScript 找到出现次数最多的数字?

javascript - 计算数组中字符串的出现次数(javascript)

r - 为 R 下载 RGoogleDocs(失败)

excel - 如何从包装单元格中获取前两行文本?

mysql - FULLTEXT 索引需要更长的时间来执行

sql - 将COUNT() sql查询的结果保存到powershell中的变量中

r - 计算 R 中分类变量的出现次数

r - 按组划分的 stat_summary 问题

r - 如何在 igraph 中提取社区的边缘列表?

r - 使用 Rstudio 模拟出生 - 绘制 pmf 和 cdf