| rle {base} | R Documentation |
Run Length Encoding
Description
Compute the lengths and values of runs of equal values in a vector – or the reverse operation.
Usage
rle(x)
inverse.rle(x, ...)
## S3 method for class 'rle'
print(x, digits = getOption("digits"), prefix = "", ...)
Arguments
x |
a vector (atomic, not a list) for |
... |
further arguments; ignored here. |
digits |
number of significant digits for printing, see
|
prefix |
character string, prepended to each printed line. |
Details
‘vector’ is used in the sense of is.vector.
Missing values are regarded as unequal to the previous value, even if that is also missing.
inverse.rle() is the inverse function of rle(),
reconstructing x from the runs.
Value
rle() returns an object of class "rle" which is a list
with components:
lengths |
an integer vector containing the length of each run. |
values |
a vector of the same length as |
inverse.rle() returns an atomic vector.
Examples
x <- rev(rep(6:10, 1:5))
rle(x)
## lengths [1:5] 5 4 3 2 1
## values [1:5] 10 9 8 7 6
z <- c(TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, TRUE, TRUE, TRUE)
rle(z)
rle(as.character(z))
print(rle(z), prefix = "..| ")
N <- integer(0)
stopifnot(x == inverse.rle(rle(x)),
identical(N, inverse.rle(rle(N))),
z == inverse.rle(rle(z)))