我想在向量中找到连续的非零元素(至少由一个零分隔),并为每个组分配一个 ID(后续整数)。
玩具矢量:
value <- c(1, 1, 2, 3, 4, 3, 0, 0, 0, 1, 2, 3, 9, 8, 0, 0, 3, 2)
在此示例中,存在三个非零值:[1,1,2,3,4,3]、[1,2,3,9,8]、[3,2],由块分隔一个或多个零。
每个非零游程应具有唯一的 ID:1、2、3...零游程应具有NA
as ID:
value id
1 1 1
2 1 1
3 2 1
4 3 1
5 4 1
6 3 1
7 0 NA
8 0 NA
9 0 NA
10 1 2
11 2 2
12 3 2
13 9 2
14 8 2
15 0 NA
16 0 NA
17 3 3
18 2 3