I have the following problem and I cannot find a simple solution.
I would like to find groups of non-zero elements in a vector (separated by at least one zero) and assign an id to each group (subsequent integer). For example, in a vector there value <- c(1,1,2,3,4,3,0,0,0,1,2,3,9,8,0,0,3,2)
should be three groups: [1,1,2,3,4,3], [1,2,3,9,8], [3,2], so I would like to get such a data frame :
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
source
share