如何在條件爲TRUE時獲得該行,並在它後面N行?如果N行中的任何一行的條件爲TRUE,請重新啓動計數。也爲每個組執行此操作。R data.table當條件爲TRUE時,找到下N行
dt = data.table(a = rep(c("a","b","c"), each = 5), b = 1:15)
dt[, condition := b%%4 == 0]
> dt
a b condition **desiredOutcome**
1: a 1 FALSE FALSE
2: a 2 FALSE FALSE
3: a 3 FALSE FALSE
4: a 4 TRUE TRUE
5: a 5 FALSE TRUE
6: b 6 FALSE FALSE
7: b 7 FALSE FALSE
8: b 8 TRUE TRUE
9: b 9 FALSE TRUE
10: b 10 FALSE TRUE
11: c 11 FALSE FALSE
12: c 12 TRUE TRUE
13: c 13 FALSE TRUE
14: c 14 FALSE TRUE
15: c 15 FALSE FALSE
的desiredOutcome
由a
柱基於N=2
和基團。得到這個的最好方法是什麼?
'DT [,移(狀態,0:N),由=一]'近的作品,但它是非常難行總和轉移 – jf328