每次r中发生事件时分配编号

每次r中发生事件时分配编号,r,R,我有以下数据: t <- c(NA,NA,NA,1,NA,NA,NA,NA,1,NA,1) dt <- data.table(t) t 1: NA 2: NA 3: NA 4: 1 5: NA 6: NA 7: NA 8: NA 9: 1 10: NA 11: 1 谢谢我们可以在“i”中创建非NA元素的逻辑索引,并将('z')指定为“t”的序列 dt[!is.na(t), z := seq_along(t)] dt # t z # 1:

我有以下数据:

t <- c(NA,NA,NA,1,NA,NA,NA,NA,1,NA,1)
dt <- data.table(t)

     t
 1: NA
 2: NA
 3: NA
 4:  1
 5: NA
 6: NA
 7: NA
 8: NA
 9:  1
10: NA
11:  1

谢谢

我们可以在“i”中创建非NA元素的逻辑索引,并将('z')指定为“t”的序列

dt[!is.na(t), z := seq_along(t)]
dt
#     t  z
# 1: NA NA
# 2: NA NA
# 3: NA NA
# 4:  1  1
# 5: NA NA
# 6: NA NA
# 7: NA NA
# 8: NA NA
# 9:  1  2
#10: NA NA
#11:  1  3

我们可以在“i”中创建非NA元素的逻辑索引,并将('z')指定为“t”的序列

dt[!is.na(t), z := seq_along(t)]
dt
#     t  z
# 1: NA NA
# 2: NA NA
# 3: NA NA
# 4:  1  1
# 5: NA NA
# 6: NA NA
# 7: NA NA
# 8: NA NA
# 9:  1  2
#10: NA NA
#11:  1  3

t==1上的子集,取累积和

  dt[t==1, z := cumsum(t)]

t==1上的子集,取累积和

  dt[t==1, z := cumsum(t)]

df%groupby(t)%%>%突变(z=cumsum(t))

df%group\u by(t)%%>%mutate(z=cumsum(t))