The class "modelMatrix" and notably its subclass "dsparseModelMatrix" are used to encode additional information, analogously to what the standard R function model.matrix() returns.

Objects from the Classes

Only "dsparseModelMatrix" and "ddenseModelMatrix" are “actual” (aka non-virtual) classes. For these, objects can be created by calls of the form new("dsparseModelMatrix", x, assign, contrast), where x is a dgCMatrix classed object.

Slots

The "modelMatrix" mother class contains Matrix (pkg Matrix) plus two extra slots,

assign:

"integer" vector of length ncol(.), coding the variables which make up the matrix columns, see model.matrix.

contrasts:

a named list of contrasts, as in model.matrix().

Dim:

integer vector of length two with the matrix dimensions.

Dimnames:

list of length two, the dimnames(.) of the matrix.

whereas the (current only) actual classes "d*ModelMatrix", have an at least an additional (numeric slot "x". E.g., "dsparseModelMatrix" has the additional slots

i,p:

row number and “pointer” integer vectors, see class "dgCMatrix".

x:

"numeric" vector of non-zero entries.

factors:

a (possibly empty) list of factorizations.

Extends

"dsparseModelMatrix" extends class "dgCMatrix" directly,
"ddenseModelMatrix" extends class "dgeMatrix" directly.

Methods

show

signature(object = "modelMatrix"): show(.) the matrix, but also the assign and contrasts slots.

print

signature(x = "modelMatrix"): as show(), however (via ...) allowing to pass further arguments for printing the matrix.

Author

Martin Maechler

See also

sparse.model.matrix (pkg Matrix) will return a "dgCMatrix" object. model.Matrix is a simple wrapper around the traditional model.matrix and returns a "ddenseModelMatrix" object.

Examples

showClass("modelMatrix")
#> Virtual Class "modelMatrix" [package "MatrixModels"]
#> 
#> Slots:
#>                                               
#> Name:     assign contrasts       Dim  Dimnames
#> Class:   integer      list   integer      list
#> 
#> Extends: "Matrix"
#> 
#> Known Subclasses: 
#> Class "sparseModelMatrix", directly
#> Class "denseModelMatrix", directly
#> Class "ddenseModelMatrix", by class "denseModelMatrix", distance 2
#> Class "dsparseModelMatrix", by class "sparseModelMatrix", distance 2
showClass("dsparseModelMatrix")
#> Class "dsparseModelMatrix" [package "MatrixModels"]
#> 
#> Slots:
#>                                                                             
#> Name:          i         p       Dim  Dimnames         x   factors    assign
#> Class:   integer   integer   integer      list   numeric      list   integer
#>                 
#> Name:  contrasts
#> Class:      list
#> 
#> Extends: 
#> Class "dgCMatrix", directly
#> Class "sparseModelMatrix", directly
#> Class "CsparseMatrix", by class "dgCMatrix", distance 2
#> Class "dsparseMatrix", by class "dgCMatrix", distance 2
#> Class "generalMatrix", by class "dgCMatrix", distance 2
#> Class "modelMatrix", by class "sparseModelMatrix", distance 2
#> Class "dMatrix", by class "dgCMatrix", distance 3
#> Class "sparseMatrix", by class "dgCMatrix", distance 3
#> Class "Matrix", by class "dgCMatrix", distance 3

## see   example(model.Matrix)