matrix                 package:base                 R Documentation

Matrices

Description:

     'matrix' creates a matrix from the given set of values.

     'as.matrix' attempts to turn its argument into a matrix.

     'is.matrix' tests if its argument is a (strict) matrix.

Usage:

     matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE,
            dimnames = NULL)

     as.matrix(x, ...)
     ## S3 method for class 'data.frame':
     as.matrix(x, rownames.force = NA, ...)

     is.matrix(x)

Arguments:

    data: an optional data vector.

    nrow: the desired number of rows.

    ncol: the desired number of columns.

   byrow: logical. If 'FALSE' (the default) the matrix is filled by
          columns, otherwise the matrix is filled by rows.

dimnames: A 'dimnames' attribute for the matrix: a 'list' of length 2
          giving the row and column names respectively.

       x: an R object.

     ...: additional arguments to be passed to or from methods.

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:

     If one of 'nrow' or 'ncol' is not given, an attempt is made to
     infer it from the length of 'data' and the other parameter.  If
     neither is given, a one-column matrix is returned.

     If there are too few elements in 'data' to fill the array, then
     the elements in 'data' are recycled.  If 'data' has length zero,
     'NA' of an appropriate type is used for atomic vectors ('0' for
     raw vectors) and 'NULL' for lists.

     'is.matrix' returns 'TRUE' if 'x' is a matrix and has a 'dim'
     attribute of length 2) and 'FALSE' otherwise. Note that a
     'data.frame' is *not* a matrix by this test.  It is generic: you
     can write methods to handle specific classes of objects, see
     InternalMethods.

     'as.matrix' is a generic function.  The method for data frames
     will return a character matrix if there is any
     non-(numeric/logical/complex) column, applying 'format' to
     non-character columns.  Otherwise, the usual coercion hierarchy
     (logical < integer < double < complex) will be used, e.g.,
     all-logical data frames will be coerced to a logical matrix, mixed
     logical-integer will give a integer matrix, etc.

     When coercing a vector, it produces a one-column matrix, and
     promotes the names (if any) of the vector to the rownames of the
     matrix.

References:

     Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) _The New S
     Language_. Wadsworth & Brooks/Cole.

See Also:

     'data.matrix', which attempts to convert to a numeric matrix.

Examples:

     is.matrix(as.matrix(1:10))
     !is.matrix(warpbreaks)# data.frame, NOT matrix!
     warpbreaks[1:10,]
     as.matrix(warpbreaks[1:10,]) #using as.matrix.data.frame(.) method

     # Example of setting row and column names
     mdat <- matrix(c(1,2,3, 11,12,13), nrow = 2, ncol=3, byrow=TRUE,
                    dimnames = list(c("row1", "row2"),
                                    c("C.1", "C.2", "C.3")))
     mdat

