Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

NMFfitXn-class

Structure for Storing All Fits from 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 option keep.all=TRUE (cf. nmf).

Details

It extends both classes NMFfitX 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.

Slots

.Data

standard slot that contains the S3 list object data. See R documentation on S3/S4 classes for more details (e.g., setOldClass).

Methods

algorithm

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.

basis

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

coef

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

compare

signature(object = "NMFfitXn"): Compares the fits obtained by separate runs of NMF, in a single call to nmf.

consensus

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.

dim

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.

entropy

signature(x = "NMFfitXn", y = "ANY"): Computes the best or mean entropy across all NMF fits stored in x.

fit

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.

.getRNG

signature(object = "NMFfitXn"): Returns the RNG settings used for the best fit.

This method throws an error if the object is empty.

getRNG1

signature(object = "NMFfitXn"): Returns the RNG settings used for the first run.

This method throws an error if the object is empty.

minfit

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.

modelname

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.

nbasis

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.

nrun

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

purity

signature(x = "NMFfitXn", y = "ANY"): Computes the best or mean purity across all NMF fits stored in x.

runtime.all

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.

seeding

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.

seqtime

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.

show

signature(object = "NMFfitXn"): Show method for objects of class NMFfitXn

See Also

Other multipleNMF: NMFfitX1-class, NMFfitX-class

Examples

# generate a synthetic dataset with known classes
n <- 15; 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=2, .options='k') # .options=list(keep.all=TRUE) also works
res

summary(res)
# get more info
summary(res, target=V, class=groups)

# compute/show computational times
runtime.all(res)
seqtime(res)

# plot the consensus matrix, computed on the fly
## Not run:  consensusmap(res, annCol=groups)

NMF

Algorithms and Framework for Nonnegative Matrix Factorization (NMF)

v0.23.0
GPL (>= 2)
Authors
Renaud Gaujoux, Cathal Seoighe
Initial release
2020-07-30

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.