Rev 43516 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
% File src/library/base/man/rle.Rd% Part of the R package, http://www.R-project.org% Copyright 1995-2007 R Core Development Team% Distributed under GPL 2 or later\name{rle}\title{Run Length Encoding}\alias{rle}\alias{inverse.rle}\alias{print.rle}\concept{runs}\description{Compute the lengths and values of runs of equal values in a vector-- or the reverse operation.}\usage{rle(x)inverse.rle(x, \dots)}\arguments{\item{x}{an atomic vector for \code{rle()}; an object of class\code{"rle"} for \code{inverse.rle()}.}\item{\dots}{further arguments which are ignored in \R.}}\details{Missing values are regarded as unequal to the previous value, even ifthat is also missing.\code{inverse.rle()} is the inverse function of \code{rle()},reconstructing \code{x} from the runs.}\value{\code{rle()} returns an object of class \code{"rle"} which is a listwith components:\item{lengths}{an integer vector containing the length of each run.}\item{values}{a vector of the same length as \code{lengths} with thecorresponding values.}\code{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 6z <- 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)))}\keyword{manip}