matrix {base}R Documentation



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. It is generic: you can write methods to handle specific classes of objects, see InternalMethods.


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


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.


If either of nrow or ncol is not given, an attempt is made to infer it from the length of data and the other parameter.

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 (i.e., it is not a data.frame and has a dim attribute of length 2) and FALSE otherwise.

as.matrix is a generic function. The method for data frames will convert any non-numeric/complex column into a character vector using format and so return a character matrix, except that all-logical data frames will be coerced to a logical matrix.


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.


!is.matrix(warpbreaks)# data.frame, NOT matrix!
as.matrix(warpbreaks[1:10,]) #using 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")))

[Package base version 2.1.0 Index]