Structure for Storing the Best Fit Amongst Multiple NMF Runs

Description

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

Details

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.

Slots

  1. consensusobject of class matrix used to store the consensus matrix based on all the runs.

  2. nrunan integer that contains the number of runs performed to compute the object.

  3. rng1an object that contains RNG settings used for the first run. See getRNG1.

Methods

  1. consensussignature(object = "NMFfitX1"): The result is the matrix stored in slot ‘consensus’. This method returns NULL if the consensus matrix is empty.

  2. fitsignature(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’.

  3. getRNG1signature(object = "NMFfitX1"): Returns the RNG settings used to compute the first of all NMF runs, amongst which object was selected as the best fit.

  4. minfitsignature(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.

  5. nmf.equalsignature(x = "NMFfitX1", y = "NMFfitX1"): Compares the NMF models fitted by multiple runs, that only kept the best fits.

  6. nrunsignature(object = "NMFfitX1"): Returns the number of NMF runs performed, amongst which object was selected as the best fit.

  7. showsignature(object = "NMFfitX1"): Show method for objects of class NMFfitX1

Examples


# 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)
res
## <Object of class: NMFfitX1 >
##   Method: brunet 
##   Runs:  3 
##   RNG:
##    407L, 1138333723L, -99406688L, 1732172833L, -1163594898L, -907967209L, -1569669524L 
##   Total timing:
##    user  system elapsed 
##   1.844   0.296   1.641

# 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 
##   1.844   0.296   1.641

# plot the consensus matrix, as stored (pre-computed) in the object
## Not run:  consensusmap(res, annCol=groups) 

See also

Other multipleNMF: NMFfitX-class, NMFfitXn-class