Мне нужно создать последовательность идентификаторов для конкретного условия: flag == 1, пример моей проблемы:
library(dplyr)
set.seed(123)
a <- data.frame(id = 1:10,
flag = rbinom(10,1,0.2))
print(a)
id flag
1 1 0
2 2 0
3 3 0
4 4 1
5 5 1
6 6 0
7 7 0
8 8 1
9 9 0
10 10 0
Я пытался создать переменную id только для flag == 1, но, к сожалению,также укажите флаг == 0, пример результата моей команды и желаемого результата:
a %>%
mutate(try_seq = cumsum(c(TRUE, diff(flag) != 0)))
> id flag try_seq desire_seq
1 1 0 1 NA
2 2 0 1 NA
3 3 0 1 NA
4 4 1 2 1
5 5 1 2 1
6 6 0 3 NA
7 7 0 3 NA
8 8 1 4 2
9 9 0 5 NA
10 10 0 5 NA
10 10 0 5 NA