as.matrix {data.table}R Documentation

Convert a data.table to a matrix


Converts a data.table into a matrix, optionally using one of the columns in the data.table as the matrix rownames.


## S3 method for class 'data.table'
as.matrix(x, rownames=NULL, rownames.value=NULL, ...)



a data.table


optional, a single column name or column number to use as the rownames in the returned matrix. If TRUE the key of the data.table will be used if it is a single column, otherwise the first column in the data.table will be used.


optional, a vector of values to be used as the rownames in the returned matrix. It must be the same length as nrow(x).


Required to be present because the generic 'as.matrix' generic has it. Arguments here are not currently used or passed on by this method.


as.matrix is a generic function in base R. It dispatches to if its x argument is a data.table.

The method for data.tables will return a character matrix if there are only atomic columns and any non-(numeric/logical/complex) column, applying as.vector to factors and format to other 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 an integer matrix, etc.


A new matrix containing the contents of x.

See Also

data.table, as.matrix, data.matrix array


DT <- data.table(A = letters[1:10], X = 1:10, Y = 11:20)
as.matrix(DT) # character matrix
as.matrix(DT, rownames = "A")
as.matrix(DT, rownames = 1)
as.matrix(DT, rownames = TRUE)

setkey(DT, A)
as.matrix(DT, rownames = TRUE)

[Package data.table version 1.12.9 Index]