data.table (version 1.11.4)

as.matrix: Convert a data.table to a matrix

Description

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

Usage

# S3 method for data.table
as.matrix(x, rownames, ...)

Arguments

x

a data.table

rownames

optional, a single column name or column index 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. Alternative a vector of length nrow(x) to assign as the row names of the returned matrix.

additional arguments to be passed to or from methods.

Value

A new matrix containing the contents of x.

Details

as.matrix is a generic function in base R. It dispatches to as.matrix.data.table 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.

An additional argument rownames is provided for as.matrix.data.table to facilitate conversions to matrices where the rownames are stored in a single column of x, e.g. the first column after using dcast.data.table.

See Also

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

Examples

Run this code
# NOT RUN {
(dt1 <- data.table(A = letters[1:10], X = 1:10, Y = 11:20))
as.matrix(dt1) # character matrix
as.matrix(dt1, rownames = "A")
as.matrix(dt1, rownames = 1)
as.matrix(dt1, rownames = TRUE)

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

Run the code above in your browser using DataCamp Workspace