The function nmfApply
provides exteneded
apply
-like functionality for objects of class
NMF
. It enables to easily apply a function over
different margins of NMF models.
nmfApply(X, MARGIN, FUN, ..., simplify = TRUE, USE.NAMES = TRUE)
basis
and coef
methods, e.g. an NMF model.FUN
is
applied. See section Details for a list of
possible values.FUN
MARGIN=3
,
that indicates if sapply
should try to simplify
result if possible. Since this argument follows
... its name cannot be abbreviated.MARGIN=3
, that indicates if sapply
should
use the names of the basis components to name the results
if present. Since this argument follows ... its
name cannot be abbreviated.The function FUN
is applied via a call to
apply
or sapply
according to
the value of argument MARGIN
as follows:
FUN
to each
row of the basis matrix: apply(basis(X), 1L,
FUN, ...)
.
FUN
to each column
of the coefficient matrix: apply(coef(X), 2L, FUN,
...)
.
FUN
to each pair of
associated basis component and basis profile: more or
less sapply(seq(nbasis(X)), function(i, ...)
FUN(basis(X)[,i], coef(X)[i, ], ...), ...)
.
In this case FUN
must be have at least two
arguments, to which are passed each basis components and
basis profiles respectively -- as numeric vectors.
FUN
to each column
of the basis matrix, i.e. to each basis component:
apply(basis(X), 2L, FUN, ...)
.
FUN
to each row of
the coefficient matrix: apply(coef(X), 1L, FUN,
...)
.