This class is used to return the result from a multiple run of a single NMF
algorithm performed with function nmf with the -- default -- option
keep.all=FALSE (cf. nmf).
It extends both classes NMFfitX-class and
NMFfit-class, and stores a the result of the best fit in its
NMFfit structure.
Beside the best fit, this class allows to hold data about the computation of the multiple runs, such as the number of runs, the CPU time used to perform all the runs, as well as the consensus matrix.
Due to the inheritance from class NMFfit, objects of class
NMFfitX1 can be handled exactly as the results of single NMF run --
as if only the best run had been performed.
matrix used to store the
consensus matrix based on all the runs.
integer that contains the number of runs
performed to compute the object.
getRNG1.
signature(object = "NMFfitX1"): The result is the matrix stored in slot consensus.
This method returns NULL if the consensus matrix is empty.
signature(object = "NMFfitX1"): Returns the model object associated with the best fit, amongst all the
runs performed when fitting object.
Since NMFfitX1 objects only hold the best fit, this method simply
returns the NMF model fitted by object -- that is stored in slot
fit.
signature(object = "NMFfitX1"): Returns the RNG settings used to compute the first of all NMF runs, amongst
which object was selected as the best fit.
signature(object = "NMFfitX1"): Returns the fit object associated with the best fit, amongst all the
runs performed when fitting object.
Since NMFfitX1 objects only hold the best fit, this method simply
returns object coerced into an NMFfit object.
signature(x = "NMFfitX1", y = "NMFfitX1"): Compares the NMF models fitted by multiple runs, that only kept the best fits.
signature(object = "NMFfitX1"): Returns the number of NMF runs performed, amongst which object was
selected as the best fit.
signature(object = "NMFfitX1"): Show method for objects of class NMFfitX1
# 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 only the best fit (default)
#i.e.: the implicit nmf options are .options=list(keep.all=FALSE) or .options='-k'
res <- nmf(V, 3, nrun=3)
## # NOTE - CRAN check detected: limiting maximum number of cores [2/4]
## # NOTE - CRAN check detected: limiting maximum number of cores [2/4]
res
## <Object of class: NMFfitX1 >
## Method: brunet
## Runs: 3
## RNG:
## 407L, -1110387517L, 1875593000L, 529335049L, 1880875830L, 336900159L, -775727756L
## Total timing:
## user system elapsed
## 2.159 0.217 2.826
# compute summary measures
summary(res)
## Length Class Mode
## 1 NMFfitX1 S4
# get more info
summary(res, target=V, class=groups)
## Length Class Mode
## 1 NMFfitX1 S4
# show computational time
runtime.all(res)
## user system elapsed
## 2.159 0.217 2.826
# plot the consensus matrix, as stored (pre-computed) in the object
## Not run: consensusmap(res, annCol=groups)