sparse.model.matrix {Matrix} | R Documentation |
Construct a Model or “Design” Matrix
sparse.model.matrix(object, data = environment(object), contrasts.arg = NULL, xlev = NULL, transpose = FALSE, ...)
object |
an object of an appropriate class. For the default method, a model formula or terms object. |
data |
a data frame created with model.frame . If
another sort of object, model.frame is called first. |
contrasts.arg |
A list, whose entries are contrasts suitable for
input to the contrasts replacement function and
whose names are the names of columns of data containing
factor s. |
xlev |
to be used as argument of model.frame if
data has no "terms" attribute. |
transpose |
logical indicating if the transpose should be
returned; if the transposed is used anyway, setting transpose = TRUE
is more efficient. |
... |
further arguments passed to or from other methods. |
a sparse matrix, inheriting from CsparseMatrix
,
typically of class dgCMatrix
.
Doug Bates and Martin Maechler, with initial suggestions from Tim Hesterberg.
model.matrix
in standard R's package stats.
as(f, "sparseMatrix")
(see coerce(from = "factor", ..)
in the class doc sparseMatrix) produces the
transposed sparse model matrix for a single factor f
(and no contrasts).
dd <- data.frame(a = gl(3,4), b = gl(4,1,12))# balanced 2-way options("contrasts") # the default: "contr.treatment" sparse.model.matrix(~ a + b, dd) sparse.model.matrix(~ -1+ a + b, dd)# no intercept --> even sparser sparse.model.matrix(~ a + b, dd, contrasts = list(a="contr.sum")) sparse.model.matrix(~ a + b, dd, contrasts = list(b="contr.SAS")) ## Sparse method is equivalent to the traditional one : stopifnot(all(sparse.model.matrix(~ a + b, dd) == Matrix(model.matrix(~ a + b, dd), sparse=TRUE)), all(sparse.model.matrix(~ 0+ a + b, dd) == Matrix(model.matrix(~ 0+ a + b, dd), sparse=TRUE)))