[ RDocumentation ](/)

Moon  [ ](https://github.com/datacamp/rdocumentation-2.0) [ Learn R
](https://www.datacamp.com/learn/r)

Search all packages and functions

[ base  (version  3.6.2  ) ](/packages/base/versions/3.6.2)

#  length: Length of an Object

##  Description

Get or set the length of vectors (including lists) and factors, and of any
other  R  object for which a method has been defined.

##  Usage

    
    
    length(x)
    length(x) <- value

##  Arguments

x

an  R  object. For replacement, a vector or factor.

value

a non-negative integer or double (which will be rounded down).

##  Value

The default method for ` length ` currently returns a non-negative ` [ integer
](/link/integer?package=base&version=3.6.2) ` of length 1, except for vectors
of more than \\(2^{31}-1\\) elements, when it returns a double.

For vectors (including lists) and factors the length is the number of
elements. For an environment it is the number of objects in the environment,
and ` NULL ` has length 0. For expressions and pairlists (including [ language
objects ](/link/language%20objects?package=base&version=3.6.2) and dotlists)
it is the length 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 ` x ` except its names,
which are adjusted (and if necessary extended by ` "" ` ).

##  Warning

Package authors have written methods that return a result of length other than
one (Formula) and that return a vector of type ` [ double
](/link/double?package=base&version=3.6.2) ` (Matrix), even with non-integer
values (earlier versions of sets). Where a single double value is returned
that can be represented as an integer it is returned as a length-one integer
vector.

##  Details

Both functions are generic: you can write methods to handle specific classes
of objects, see [ InternalMethods
](/link/InternalMethods?package=base&version=3.6.2) . ` length<- ` has a `
"factor" ` method.

The replacement form can be used to reset the length of a vector. If a vector
is shortened, extra values are discarded and when a vector is lengthened, it
is padded out to its new length with ` [ NA
](/link/NA?package=base&version=3.6.2) ` s ( ` nul ` for raw vectors).

Both are [ primitive ](/link/primitive?package=base&version=3.6.2) functions.

##  References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) _The New S Language_ .
Wadsworth & Brooks/Cole.

##  See Also

` nchar ` for counting the number of characters in character vectors, ` [
lengths ](/link/lengths?package=base&version=3.6.2) ` for getting the length
of every element in a list.

##  Examples

[ Run this code
](https://app.datacamp.com/workspace/preview?_tag=rdocs&rdocsPath=packages%2Fbase%2Fversions%2F3.6.2%2Ftopics%2Flength&utm_source=r-docs&utm_medium=docs&utm_term=length&utm_content=run_example_in_workspace)

    
    
    # NOT RUN {
    length(diag(4))  # = 16 (4 x 4)
    length(options())  # 12 or more
    length(y ~ x1 + x2 + x3)  # 3
    length(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
    # }
    

Run the code above in your browser using  [ DataCamp Workspace
](https://app.datacamp.com/workspace/preview?_tag=rdocs&rdocsPath=packages%2Fbase%2Fversions%2F3.6.2%2Ftopics%2Flength&utm_source=r-docs&utm_medium=docs&utm_term=length&utm_content=run_example_in_workspace)

Powered by  [ DataCamp ](https://www.datacamp.com/)