R: Convert a Data Frame to a Numeric Matrix

data.matrix {base} | R Documentation

## Convert a Data Frame to a Numeric Matrix

### Description

Return the matrix obtained by converting all the variables in a data frame to numeric mode and then binding them together as the columns of a matrix. Factors and ordered factors are replaced by their internal codes.

### Usage

    data.matrix(frame, rownames.force = NA)

### Arguments

`frame` | a data frame whose components are logical vectors, factors or numeric vectors.
`rownames.force` | logical indicating if the resulting matrix should have character (rather than `NULL`) `rownames`. The default, `NA`, uses `NULL` rownames if the data frame has ‘automatic’ row.names or for a zero-row data frame.

### Details

Supplying a data frame with columns which are not numeric, factor or logical is an error. A warning is given if any non-factor column has a class, as then information can be lost.

### Value

If `frame` inherits from class `"data.frame"`, an integer or numeric matrix of the same dimensions as `frame`, with dimnames taken from the `row.names` (or `NULL`, depending on `rownames.force`) and `names`.
Otherwise, the result of `as.matrix`.

### Note

The default behaviour for data frames differs from R < 2.5.0 which always gave the result character rownames.

### References

Chambers, J. M. (1992) Data for models. Chapter 3 of Statistical Models in S eds J. M. Chambers and T. J. Hastie, Wadsworth & Brooks/Cole.

### See Also

`as.matrix`, `data.frame`, `matrix`.

### Examples

    DF <- data.frame(a=1:3, b=letters[10:12],
                     c=seq(as.Date("2004-01-01"), by = "week", len = 3),
                     stringsAsFactors = TRUE)
    data.matrix(DF[1:2])
    data.matrix(DF) # gives a warning and quotes dates as #days since 1970.

[Package base version 2.6.2 Index]