# R: Vectors

vector {base} | R Documentation

## Vectors

### Description

`vector` produces a vector of the given length and mode.

`as.vector`, a generic, attempts to coerce its argument into a vector of mode `mode` (the default is to coerce to whichever mode is most convenient).

`is.vector` returns `TRUE` if `x` is a vector (of mode logical, integer, real, complex, character, raw or list if not specified) or expression and `FALSE` otherwise.

### Usage

    vector(mode = "logical", length = 0)
    as.vector(x, mode = "any")
    is.vector(x, mode = "any")

### Arguments

`mode` | A character string giving an atomic mode or `"list"`, or (not for `vector`) `"any"`.
`length` | A non-negative integer specifying the desired length.
`x` | An object.

### Details

The atomic modes are `"logical"`, `"integer"`, `"numeric"`, `"complex"`, `"character"` and `"raw"`.

`is.vector` returns `FALSE` if `x` has any attributes except names. (This is incompatible with S.) On the other hand, `as.vector` removes all attributes including names for results of atomic mode.

Note that factors are not vectors; `is.vector` returns `FALSE` and `as.vector` converts to a character vector for `mode = "any"`.

### Value

For `vector`, a vector of the given length and mode. Logical vector elements are initialized to `FALSE`, numeric vector elements to `0`, character vector elements to `""`, raw vector elements to `nul` bytes and list elements to `NULL`.
All attributes are removed from the answer if it is of an atomic mode.

### Note

`as.vector` and `is.vector` are quite distinct from the meaning of the formal class `"vector"` in the methods package, and hence `as(x, "vector")` and `is(x, "vector")`.

`mode`s of `"symbol"`, `"pairlist"` and `"expression"` are allowed but have long been undocumented.

### References

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

### See Also

`c`, `is.numeric`, `is.list`, etc.

### Examples

    df <- data.frame(x=1:3, y=5:7)
    ## Not run:
    ## Error:
      as.vector(data.frame(x=1:3, y=5:7), mode="numeric")
    ## End(Not run)

    x <- c(a = 1, b = 2)
    is.vector(x)
    as.vector(x)
    all.equal(x, as.vector(x)) ## FALSE

    ###-- All the following are TRUE:
    is.list(df)
    ! is.vector(df)
    ! is.vector(df, mode="list")

    is.vector(list(), mode="list")
    is.vector(NULL,   mode="NULL")

[Package base version 2.6.0 Index]