array {base} | R Documentation

## Multi-way Arrays

### Description

Creates or tests for arrays.

### Usage

    array(data = NA, dim = length(data), dimnames = NULL)
    as.array(x)
    is.array(x)

### Arguments

`data` | a vector (including a list) giving data to fill the array.
`dim` | the dim attribute for the array to be created, that is a vector of length one or more giving the maximal indices in each dimension.
`dimnames` | the names for the dimensions. This is a list with one component for each dimension, either NULL or a character vector of the length given by `dim` for that dimension. The list can be names, and the names will be used as names for the dimensions.
`x` | an R object.

### Value

`array` returns an array with the extents specified in `dim` and naming information in `dimnames`. The values in `data` are taken to be those in the array with the leftmost subscript moving fastest. If there are too few elements in `data` to fill the array, then the elements in `data` are recycled. If `data` has length zero, `NA` of an appropriate type is used for atomic vectors (`0` for raw vectors) and `NULL` for lists.
`as.array()` coerces its argument to be an array by attaching a `dim` attribute to it. It also attaches `dimnames` if `x` has `names`. The sole purpose of this is to make it possible to access the `dim`[names] attribute at a later time.
`is.array` returns `TRUE` or `FALSE` depending on whether its argument is an array (i.e., has a `dim` attribute) or not. It is generic: you can write methods to handle specific classes of objects, see InternalMethods.

### References

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

### See Also

`aperm`, `matrix`, `dim`, `dimnames`.

### Examples

    dim(as.array(letters))
    array(1:3, c(2,4)) # recycle 1:3 "2 2/3 times"
    #     [,1] [,2] [,3] [,4]
    #[1,]    1    3    2    1
    #[2,]    2    1    3    2

[Package base version 2.3.1 Index]