1

我有如下数据,我用函数创建了变量“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

有人可以帮我吗?

4

1 回答 1

1

我们可以na.locf使用library(zoo)

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

但是,这可以直接创建而不使用“索引”

Count$B <- cumsum(Count$unemployment==1)
于 2015-12-03T11:51:29.803 回答