【发布时间】:2019-02-07 20:05:49
【问题描述】:
我正在尝试创建一个连续数量的相等值,即出现次数。但是,我希望在引入新 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 重置它。
谢谢!
【问题讨论】: