Rev 86046 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
% File src/library/base/man/length.Rd% Part of the R package, https://www.R-project.org% Copyright 1995-2017 R Core Team% Distributed under GPL 2 or later\name{length}\alias{length}\alias{length<-}\alias{length<-.factor}\title{Length of an Object}\description{Get or set the length of vectors (including lists) and factors, and ofany other \R object for which a method has been defined.}\usage{length(x)length(x) <- value}\arguments{\item{x}{an \R object. For replacement, a vector or factor.}\item{value}{a non-negative integer or double (which will be rounded down).}}\details{Both functions are generic: you can write methods to handle specificclasses of objects, see \link{InternalMethods}. \code{length<-} has a\code{"factor"} method.The replacement form can be used to reset the length of a vector. Ifa vector is shortened, extra values are discarded and when a vector islengthened, it is padded out to its new length with \code{\link{NA}}s(\code{nul} for raw vectors).Both are \link{primitive} functions.}\value{The default method for \code{length} currently returns a non-negative\code{\link{integer}} of length 1, except for vectors of more than\eqn{2^{31}-1}{2^31 - 1} elements, when it returns a double.For vectors (including lists) and factors the length is the number ofelements. For an environment it is the number of objects in theenvironment, and \code{NULL} has length 0. For expressions andpairlists (including \link{language objects} and dot-dot-dot lists) it is thelength of the pairlist chain. All other objects (including functions)have length one: note that for functions this differs from S.The replacement form removes all the attributes of \code{x} except itsnames, which are adjusted (and if necessary extended by \code{""}).}\section{Warning}{Package authors have written methods that return a result of lengthother than one (\CRANpkg{Formula}) and that return a vector of type\code{\link{double}} (\CRANpkg{Matrix}), even with non-integer values(earlier versions of \CRANpkg{sets}). Where a single double value isreturned that can be represented as an integer it is returned as alength-one integer vector.}\seealso{\code{nchar} for counting the number of characters in charactervectors, \code{\link{lengths}} for getting the length of every elementin a list.}\references{Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)\emph{The New S Language}.Wadsworth & Brooks/Cole.}\examples{length(diag(4)) # = 16 (4 x 4)length(options()) # 12 or morelength(y ~ x1 + x2 + x3) # 3length(expression(x, {y <- x^2; y+2}, x^y)) # 3## from example(warpbreaks)require(stats)fm1 <- lm(breaks ~ wool * tension, data = warpbreaks)length(fm1$call) # 3, lm() and two arguments.length(formula(fm1)) # 3, ~ lhs rhs}\keyword{attribute}