Convert a Data Frame to a Numeric Matrix
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.
data.matrix(frame, rownames.force = NA)
- a data frame whose components are logical vectors, factors or numeric vectors.
- logical indicating if the resulting matrix
should have character (rather than
rownames. The default,
NULLrownames if the data frame has automatic row.names or for a zero-row data frame.
Logical and factor columns are converted to integers. Any other
column which is not numeric (according to
as.numeric or, for S4 objects,
as(, "numeric"). If all columns are integer (after
conversion) the result is an integer matrix, otherwise a numeric
frameinherits from class
"data.frame", an integer or numeric matrix of the same dimensions as
frame, with dimnames taken from the
NULL, depending on
names.Otherwise, the result of
The default behaviour for data frames differs from R < 2.5.0 which always gave the result character rownames.
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.
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)