下面是我的数据框,我想得到“是”列。我似乎无法理解cumsum
当它根据“id”的“值”字段达到 0 时重置。还有其他类似的问题,但解决方案不适用于我的实际数据集。
test<- data.frame(id = c(1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4), value = c(1,1,0,1,1,1,1,1,0,1,1,0,1,1,0,0), yes = c(1,2,0,1,1,2,3,4,0,1,2,0,1,2,0,0))
我试过这个:
test <- data.table(test) # preferred might be: `setDT(test)`
test<-test[, wrong := cumsum(value), by=id]