| Matrix-class {Matrix} | R Documentation |
The Matrix class is a class contained by all actual
classes in the Matrix package. It is a “virtual” class.
Common to all matrix objects in the package:
Dim:"integer" - the dimensions
of the matrix - must be an integer vector with exactly two
non-negative values.Dimnames:character vector length
equal the corresponding Dim element.signature(x = "Matrix"): extract matrix dimensions
dim.signature(x = "Matrix"): extract
dimnames.signature(x = "Matrix", value = "list"): set
the dimnames to a list of length 2, see
dimnames<-.signature(x = "Matrix"): simply defined as
prod(dim(x)) (and hence of mode "double").signature(object = "Matrix"): show
method for printing.signature(object = "Matrix"): return only the
“head”, i.e., the first few rows.signature(object = "Matrix"): return only the
“tail”, i.e., the last few rows of the respective matrix.signature(x = "Matrix"): the same as
as(x, "matrix"); see also the note below.signature(x = "Matrix", mode = "missing"):
as.vector(m) should be identical to as.vector(as(m,
"matrix")), implemented more efficiently for some subclasses.
There are many more methods that (conceptually should) work for all
"Matrix" objects, e.g., colSums,
rowMeans. Even base functions may work
automagically (if they first call as.matrix() on their
principal argument), e.g., apply, eigen,
svd or kappa all do work via coercion to a
“traditional” (dense) matrix.
Loading the Matrix namespace “overloads”
as.matrix and as.array in the base
namespace by the equivalent of function(x) as(x, "matrix").
Consequently, as.matrix(m) or as.array(m) will properly
work when m inherits from the "Matrix" class —
also for functions in package base and other packages.
E.g., apply or outer can therefore be applied
to "Matrix" matrices.
Douglas Bates bates@stat.wisc.edu and Martin Maechler
the classes dgeMatrix,
dgCMatrix, and function
Matrix for construction (and examples).
slotNames("Matrix")
cl <- getClass("Matrix")
names(cl@subclasses) # more than 40 ..
showClass("Matrix")#> output with slots and all subclasses