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

nmf-compare

Comparing Results from Different NMF Runs


Description

The functions documented here allow to compare the fits computed in different NMF runs. The fits do not need to be from the same algorithm, nor have the same dimension.

Usage

## S4 method for signature 'NMFfit'
compare(object, ...)

  ## S4 method for signature 'list'
compare(object, ...)

  ## S4 method for signature 'NMFList'
summary(object, sort.by = NULL,
    select = NULL, ...)

  ## S4 method for signature 'NMFList,missing'
plot(x, y, skip = -1, ...)

  ## S4 method for signature 'NMF.rank'
consensusmap(object, ...)

  ## S4 method for signature 'list'
consensusmap(object, layout,
    Rowv = FALSE, main = names(object), ...)

Arguments

...

extra arguments passed by compare to summary,NMFList or to the summary method of each fit.

select

the columns to be output in the result data.frame. The column are given by their names (partially matched). The column names are the names of the summary measures returned by the summary methods of the corresponding NMF results.

sort.by

the sorting criteria, i.e. a partial match of a column name, by which the result data.frame is sorted. The sorting direction (increasing or decreasing) is computed internally depending on the chosen criteria (e.g. decreasing for the cophenetic coefficient, increasing for the residuals).

x

an NMFList object that contains fits from separate NMF runs.

y

missing

layout

specification of the layout. It may be a single numeric or a numeric couple, to indicate a square or rectangular layout respectively, that is filled row by row. It may also be a matrix that is directly passed to the function layout from the package graphics.

object

an object computed using some algorithm, or that describes an algorithm itself.

skip

an integer that indicates the number of points to skip/remove from the beginning of the curve. If skip=1L (default) only the initial residual – that is computed before any iteration, is skipped, if present in the track (it associated with iteration 0).

Rowv

clustering specification(s) for the rows. It allows to specify the distance/clustering/ordering/display parameters to be used for the rows only. Possible values are:

  • TRUE or NULL (to be consistent with heatmap): compute a dendrogram from hierarchical clustering using the distance and clustering methods distfun and hclustfun.

  • NA: disable any ordering. In this case, and if not otherwise specified with argument revC=FALSE, the heatmap shows the input matrix with the rows in their original order, with the first row on top to the last row at the bottom. Note that this differ from the behaviour or heatmap, but seemed to be a more sensible choice when vizualizing a matrix without reordering.

  • an integer vector of length the number of rows of the input matrix (nrow(x)), that specifies the row order. As in the case Rowv=NA, the ordered matrix is shown first row on top, last row at the bottom.

  • a character vector or a list specifying values to use instead of arguments distfun, hclustfun and reorderfun when clustering the rows (see the respective argument descriptions for a list of accepted values). If Rowv has no names, then the first element is used for distfun, the second (if present) is used for hclustfun, and the third (if present) is used for reorderfun.

  • a numeric vector of weights, of length the number of rows of the input matrix, used to reorder the internally computed dendrogram d by reorderfun(d, Rowv).

  • FALSE: the dendrogram is computed using methods distfun, hclustfun, and reorderfun but is not shown.

  • a single integer that specifies how many subtrees (i.e. clusters) from the computed dendrogram should have their root faded out. This can be used to better highlight the different clusters.

  • a single double that specifies how much space is used by the computed dendrogram. That is that this value is used in place of treeheight.

main

Main title as a character string or a grob.

Details

The methods compare enables to compare multiple NMF fits either passed as arguments or as a list of fits. These methods eventually call the method summary,NMFList, so that all its arguments can be passed named in ....

Methods

compare

signature(object = "NMFfit"): Compare multiple NMF fits passed as arguments.

compare

signature(object = "list"): Compares multiple NMF fits passed as a standard list.

consensusmap

signature(object = "NMF.rank"): Draw a single plot with a heatmap of the consensus matrix obtained for each value of the rank, in the range tested with nmfEstimateRank.

consensusmap

signature(object = "list"): Draw a single plot with a heatmap of the consensus matrix of each element in the list object.

plot

signature(x = "NMFList", y = "missing"): plot plot on a single graph the residuals tracks for each fit in x. See function nmf for details on how to enable the tracking of residuals.

summary

signature(object = "NMFList"): summary,NMFList computes summary measures for each NMF result in the list and return them in rows in a data.frame. By default all the measures are included in the result, and NA values are used where no data is available or the measure does not apply to the result object (e.g. the dispersion for single' NMF runs is not meaningful). This method is very useful to compare and evaluate the performance of different algorithms.

Examples

#----------
# compare,NMFfit-method
#----------
x <- rmatrix(20,10)
res <- nmf(x, 3)
res2 <- nmf(x, 2, 'lee')

# compare arguments
compare(res, res2, target=x)

#----------
# compare,list-method
#----------
# compare elements of a list
compare(list(res, res2), target=x)

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.