This help topic is for R version 1.5.0. For the current version of R, try https://stat.ethz.ch/R-manual/R-patched/library/base/html/rle.html
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)
## S3 method for class 'rle'
print(x, digits = getOption("digits"), ...)
inverse.rle(x, ...)

Arguments

x

a simple vector for rle() or an object of class "rle" for print() or inverse.rle().

digits, ...

potentially further arguments to the corresponding method.

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 lengths with the corresponding values.

inverse.rle() is the inverse function of rle().

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))

stopifnot(x == inverse.rle(rle(x)),
          z == inverse.rle(rle(z)))

[Package base version 1.5.0 ]