根据R列上的值为行分配计数编号

根据R列上的值为行分配计数编号,r,count,R,Count,我正在寻找一种优雅的方法来为每一行指定某个列的某个值出现的次数,例如: df1 Ch1 Year X1 2010 X1 2011 X1 2012 X2 2011 X2 2013 ... 我想添加这样一行 df1 Ch1 Year Count X1 2010 1 X1 2011 2 X1 2012 3 X2 2011 1 X2

我正在寻找一种优雅的方法来为每一行指定某个列的某个值出现的次数,例如:

df1
Ch1    Year      
X1      2010
X1      2011
X1      2012
X2      2011
X2      2013
...
我想添加这样一行

df1
Ch1    Year      Count
X1      2010      1
X1      2011      2
X1      2012      3
X2      2011      1
X2      2013      2
...
现在我知道我可以创建一个循环或使用unite/Separate。 有没有更简单的方法


谢谢

一个选项是按顺序分组

library(dplyr)
df1 %>%
   group_by(Ch1) %>%
   mutate(Count = row_number())

base R
中,也可以使用
序列执行

df1$Count <- sequence(table(df1$Ch1))
df1$Count