# rle

##### Run Length Encoding

Compute the lengths and values of runs of equal values in a vector -- or the reverse operation.

- Keywords
- manip

##### Usage

```
rle(x)
inverse.rle(x, ...)
"print"(x, digits = getOption("digits"), prefix = "", ...)
```

##### Arguments

- x
- a vector (atomic, not a list) for
`rle()`

; an object of class`"rle"`

for`inverse.rle()`

. - ...
- further arguments; ignored here.
- digits
- number of significant digits for printing, see
`print.default`

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

- lengths
- an integer vector containing the length of each run.
- values
- a vector of the same length as
`lengths`

with the corresponding values.

`rle()`

returns an object of class `"rle"`

which is a list
with components:
`inverse.rle()`

returns an atomic vector.
##### Examples

`library(base)`

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

*Documentation reproduced from package base, version 3.2.0, License: Part of R 3.2.0*

### Community examples

Looks like there are no examples yet.