每个值的累积计数 [英] Cumulative count of each value

查看:75
本文介绍了每个值的累积计数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想创建一个累加计数器,以显示每个值出现的次数。

I want to create a cumulative counter of the number of times each value appears.

例如说我有此列:

id  
1  
2  
3  
2  
2  
1  
2  
3

这将变成:

id   count  
1     1  
2     1  
3     1  
2     2  
2     3  
1     2  
2     4  
3     2  

等...

谢谢

推荐答案

dplyr 的方式:

library(dplyr)

foo <- data.frame(id=c(1, 2, 3, 2, 2, 1, 2, 3))
foo <- foo %>% group_by(id) %>% mutate(count=row_number())
foo

# A tibble: 8 x 2
# Groups:   id [3]
     id count
  <dbl> <int>
1     1     1
2     2     1
3     3     1
4     2     2
5     2     3
6     1     2
7     2     4
8     3     2

最后以 id分组。如果不希望将其分组,请添加%>%ungroup()

That ends up grouped by id. If you want it not grouped, add %>% ungroup().

这篇关于每个值的累积计数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆