# length {base}

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

### Details

Both functions are generic: you can write methods to handle specific classes of objects, see InternalMethods. `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`

s (`nul`

for raw vectors).

Both are primitive functions.

### Values

The default method for `length`

currently returns a non-negative `integer`

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

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

As from R 3.0.0, lengths can be returned as double in base R.

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

### Examples

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

Documentation reproduced from R 3.0.2. License: GPL-2.