length {base} | R Documentation |

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

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

### Value

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 dot-dot-dot lists) 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.

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

for getting the length of every element
in a list.

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

*base*version 4.4.0 Index]