Создайте переменную подсчета, которую я могу использовать для группировки моих данных по безработице в 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

И я хочу, чтобы мои данные были такими, и я не имею ни малейшего представления, как их получить таким образом. Мысль о "если-функция", но никогда не использовал его в 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

Может ли кто-нибудь помочь мне?

1 ответ

Решение

Мы можем использовать na.locf от library(zoo)

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

Но это может быть создано непосредственно без использования "индекса"

Count$B <- cumsum(Count$unemployment==1)
Другие вопросы по тегам