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 or character vectors. |

`rownames.force` |
logical indicating if the resulting matrix
should have character (rather than |

### Details

Logical and factor columns are converted to integers. Character
columns are first converted to factors and then to integers. Any other
column which is not numeric (according to `is.numeric`

) is
converted by `as.numeric`

or, for S4 objects,
`as(, "numeric")`

. If all columns are integer (after
conversion) the result is an integer matrix, otherwise a numeric
(double) matrix.

### 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", length.out = 3),
stringsAsFactors = TRUE)
data.matrix(DF[1:2])
data.matrix(DF)
```

*base*version 4.4.1 Index]