data.matrix
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.
- Keywords
- array
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
, usesNULL
rownames if the data frame has ‘automatic’ row.names or for a zero-row data frame.
Details
Logical and factor columns are converted 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
Examples
library(base)
# NOT RUN {
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)
# }