【发布时间】:2019-07-26 14:24:16
【问题描述】:
在type$AA 由ID 出来之前,我会尝试给出相同的 seq_number
我试过了
dt_1[seq:=seq(.N),by=c("ID","type")]
但它不起作用。有没有办法像这样给出seq?
dt_1<-fread("ID type
1 AA
1 B
1 C
1 D
1 AA
1 B
1 D
1 AA
1 C
2 AA
2 C
2 F
2 D
3 AA
3 E
3 C")
dt_2<-fread("ID type seq
1 AA 1
1 B 1
1 C 1
1 D 1
1 AA 2
1 B 2
1 D 2
1 AA 3
1 C 3
2 AA 1
2 C 1
2 F 1
2 D 1
3 AA 1
3 E 1
3 C 1")
【问题讨论】:
-
也许是
dt_1[, seq := cumsum(type=="AA"), by=.(ID)] -
和
dt_1$seq <- with(dt_1, ave(type == "AA", ID, FUN = cumsum))使用基数 R。
标签: r data.table conditional-statements seq