vec_identify_runs()
returns a vector of identifiers for the elements of
x
that indicate which run of repeated values they fall in. The number of
runs is also returned as an attribute, n
.
Details
Unlike base::rle()
, adjacent missing values are considered identical when
constructing runs. For example, vec_identify_runs(c(NA, NA))
will return
c(1, 1)
, not c(1, 2)
.
Examples
x <- c("a", "z", "z", "c", "a", "a")
vec_identify_runs(x)
#> [1] 1 2 2 3 4 4
#> attr(,"n")
#> [1] 4
y <- c(1, 1, 1, 2, 2, 3)
# With multiple columns, the runs are constructed rowwise
df <- data_frame(
x = x,
y = y
)
vec_identify_runs(df)
#> [1] 1 2 2 3 4 5
#> attr(,"n")
#> [1] 5