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