rle
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)))
Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.