This class is used to return the result from a multiple
run of a single NMF algorithm performed with function
nmf
with option keep.all=TRUE
(cf.
nmf
).
It extends both classes NMFfitX-class
and
list
, and stores the result of each run (i.e. a
NMFfit
object) in its list
structure.
IMPORTANT NOTE: This class is designed to be
read-only, even though all the
list
-methods can be used on its instances. Adding
or removing elements would most probably lead to
incorrect results in subsequent calls. Capability for
concatenating and merging NMF results is for the moment
only used internally, and should be included and
supported in the next release of the package.
list
object data. See R documentation on S3/S4
classes for more details (e.g.,
setOldClass
).
signature(object = "NMFfitXn")
:
Returns the name of the common NMF algorithm used to
compute all fits stored in object
Since all fits are computed with the same algorithm, this
method returns the name of algorithm that computed the
first fit. It returns NULL
if the object is empty.
signature(object = "NMFfitXn")
:
Returns the basis matrix of the best fit amongst all the
fits stored in object
. It is a shortcut for
basis(fit(object))
.
signature(object = "NMFfitXn")
:
Returns the coefficient matrix of the best fit amongst
all the fits stored in object
. It is a shortcut
for coef(fit(object))
.
signature(object = "NMFfitXn")
:
Compares the fits obtained by separate runs of NMF, in a
single call to nmf
.
signature(object = "NMFfitXn")
:
This method returns NULL
on an empty object. The
result is a matrix with several attributes attached, that
are used by plotting functions such as
consensusmap
to annotate the plots.
signature(x = "NMFfitXn")
: Returns the
dimension common to all fits.
Since all fits have the same dimensions, it returns the
dimension of the first fit. This method returns
NULL
if the object is empty.
signature(x = "NMFfitXn", y =
"ANY")
: Computes the best or mean entropy across all NMF
fits stored in x
.
signature(object = "NMFfitXn")
: Returns
the best NMF fit object amongst all the fits stored in
object
, i.e. the fit that achieves the lowest
estimation residuals.
signature(object = "NMFfitXn")
:
Returns the RNG settings used for the best fit.
This method throws an error if the object is empty.
signature(object = "NMFfitXn")
:
Returns the RNG settings used for the first run.
This method throws an error if the object is empty.
signature(object = "NMFfitXn")
:
Returns the best NMF model in the list, i.e. the run that
achieved the lower estimation residuals.
The model is selected based on its deviance
value.
signature(object = "NMFfitXn")
:
Returns the common type NMF model of all fits stored in
object
Since all fits are from the same NMF model, this method
returns the model type of the first fit. It returns
NULL
if the object is empty.
signature(x = "NMFfitXn")
: Returns
the number of basis components common to all fits.
Since all fits have been computed using the same rank, it
returns the factorization rank of the first fit. This
method returns NULL
if the object is empty.
signature(object = "NMFfitXn")
:
Returns the number of runs performed to compute the fits
stored in the list (i.e. the length of the list itself).
signature(x = "NMFfitXn", y =
"ANY")
: Computes the best or mean purity across all NMF
fits stored in x
.
signature(object = "NMFfitXn")
:
If no time data is available from in slot
runtime.all and argument null=TRUE
, then
the sequential time as computed by seqtime
is returned, and a warning is thrown unless
warning=FALSE
.
signature(object = "NMFfitXn")
:
Returns the name of the common seeding method used the
computation of all fits stored in object
Since all fits are seeded using the same method, this
method returns the name of the seeding method used for
the first fit. It returns NULL
if the object is
empty.
signature(object = "NMFfitXn")
:
Returns the CPU time that would be required to
sequentially compute all NMF fits stored in
object
.
This method calls the function runtime
on each fit
and sum up the results. It returns NULL
on an
empty object.
signature(object = "NMFfitXn")
: Show
method for objects of class NMFfitXn
# generate a synthetic dataset with known classes
n <- 20; counts <- c(5, 2, 3);
V <- syntheticNMF(n, counts)
# get the class factor
groups <- V$pData$Group
# perform multiple runs of one algorithm, keeping all the fits
res <- nmf(V, 3, nrun=3, .options='k') # .options=list(keep.all=TRUE) also works
res
## <Object of class: NMFfitXn >
## Method: brunet
## Runs: 3
## RNG:
## 407L, -1570361420L, 1811175205L, 842770850L, -351924037L, -1821383488L, -1544032831L
## Total timing:
## user system elapsed
## 2.672 0.544 1.539
## Sequential timing:
## user system elapsed
## 0.568 0.000 0.591
summary(res)
## Length Class Mode
## [1,] 1 NMFfit S4
## [2,] 1 NMFfit S4
## [3,] 1 NMFfit S4
# get more info
summary(res, target=V, class=groups)
## Length Class Mode
## [1,] 1 NMFfit S4
## [2,] 1 NMFfit S4
## [3,] 1 NMFfit S4
# compute/show computational times
runtime.all(res)
## user system elapsed
## 2.672 0.544 1.539
seqtime(res)
## user system elapsed
## 0.568 0.000 0.591
# plot the consensus matrix, computed on the fly
## Not run: consensusmap(res, annCol=groups)