R: Run Length Encoding

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)
    print(x, digits = getOption("digits"), ...)
    inverse.rle(x, ...)

### Arguments

`x` | a simple vector [as argument of rle()], a class "rle" object [as argument of `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 Contents]