我正在尝试创建一系列相同值的序号,即出现次数的计数。但是,即使行保持连续,我希望计数在引入新的ID时重置。
以下是我的数据示例:
dataset <- data.frame(ID =
c("a","a","a","a","a","a","a","b","b","b","b","b","b","b")
dataset$YesNO <- c(1,1,0,0,0,1,1,1,1,1,0,0,0,0)
我希望创建一个新的列,其中包含这些结果:
c(1,2,1,2,3,1,2,1,2,3,1,2,3,4)
我使用了在这个论坛上找到的代码:
dataset$Counter <- sequence(rle(as.character(dataset$YesNo))$lengths)
然而,这并没有重置新ID号的计数。相反,连续计数将继续,并产生以下输出结果:
c(1,2,1,2,3,1,2,3,4,5,1,2,3,4)
我漏掉了哪一步可以根据ID重置它呢?
谢谢!