matrix {base} | R Documentation

## Matrices

### Description

`matrix` creates a matrix from the given set of values.

`as.matrix` attempts to turn its argument into a matrix.

`is.matrix` tests if its argument is a (strict) matrix. It is generic: you can write methods to handle specific classes of objects, see InternalMethods.

### Usage

    matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE,
           dimnames = NULL)

    as.matrix(x)

    is.matrix(x)

### Arguments

`data` | an optional data vector.
`nrow` | the desired number of rows
`ncol` | the desired number of columns
`byrow` | logical. If `FALSE` (the default) the matrix is filled by columns, otherwise the matrix is filled by rows.
`dimnames` | A `dimnames` attribute for the matrix: a `list` of length 2 giving the row and column names respectively.
`x` | an R object.

### Details

If either of `nrow` or `ncol` is not given, an attempt is made to infer it from the length of `data` and the other parameter.

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.

`is.matrix` returns `TRUE` if `x` is a matrix (i.e., it is not a `data.frame` and has a `dim` attribute of length 2) and `FALSE` otherwise.

`as.matrix` is a generic function. The method for data frames will convert any non-numeric/complex column into a character vector using `format` and so return a character matrix, except that all-logical data frames will be coerced to a logical matrix. When coercing a vector, it produces a one-column matrix, and promotes the names (if any) of the vector to the rownames of the matrix.

### References

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

### See Also

`data.matrix`, which attempts to convert to a numeric matrix.

### Examples

    is.matrix(as.matrix(1:10))
    !is.matrix(warpbreaks)# data.frame, NOT matrix!
    warpbreaks[1:10,]
    as.matrix(warpbreaks[1:10,]) #using as.matrix.data.frame(.) method

    # Example of setting row and column names
    mdat <- matrix(c(1,2,3, 11,12,13), nrow = 2, ncol=3, byrow=TRUE,
                   dimnames = list(c("row1", "row2"), c("C.1", "C.2", "C.3")))
    mdat

[Package base version 2.3.1 Index]