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)
    inverse.rle(x, ...)

### Arguments

`x` | a simple vector for `rle()` or an object of class `"rle"` for `inverse.rle()`.
`...` | further arguments which are ignored in R.

### 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]