data.matrix               package: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:

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

