创建一个计数变量,我可以用它来对 R 中的失业数据进行分组

Create a counting variable which I can use to group my unemployment data in R

我有如下数据,其中我使用以下函数创建了变量 "B":

index <- which(Count$unemploymentduration ==1)
Count$B[index]<-1:length(index)

ID unemployment B
1    1          1 
1    2          NA
1    3          NA 
1    4          NA 
2    1          2 
2    2          NA 
2    0          NA
2    1          3
2    2          NA
2    3          NA
2    4          NA
2    5          NA

而且我想要以这种方式获取我的数据,但不知道如何以这种方式获取它。 想到了 "if-function" 但从未在 R 中使用过。

ID unemployment B
1    1          1 
1    2          1
1    3          1
1    4          1
2    1          2 
2    2          2 
2    0          2
2    1          3
2    2          3
2    3          3
2    4          3
2    5          3

有人能帮帮我吗?

我们可以使用 library(zoo)

中的 na.locf
library(zoo)
Count$B <- na.locf(Count$B)

但是,这可以直接创建而无需使用 'index'

Count$B <- cumsum(Count$unemployment==1)