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.FUNMARGIN=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.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,
...).