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.
# S4 method for NMFfit
compare(object, ...) # S4 method for list
compare(object, ...)
# S4 method for NMFList
summary(object, sort.by = NULL,
select = NULL, ...)
# S4 method for NMFList,missing
plot(x, y, skip = -1, ...)
# S4 method for NMF.rank
consensusmap(object, ...)
# S4 method for list
consensusmap(object, layout,
Rowv = FALSE, main = names(object), ...)
extra arguments passed by compare
to
summary,NMFList
or to the summary
method of
each fit.
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.
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).
an NMFList
object that contains fits from
separate NMF runs.
missing
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
.
an object computed using some algorithm, or that describes an algorithm itself.
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).
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 title as a character string or a grob.
signature(object = "NMFfit")
:
Compare multiple NMF fits passed as arguments.
signature(object = "list")
:
Compares multiple NMF fits passed as a standard list.
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
.
signature(object = "list")
:
Draw a single plot with a heatmap of the consensus matrix
of each element in the list object
.
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.
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.
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 ...
.
# roxygen generated flag
options(R_CHECK_RUNNING_EXAMPLES_=TRUE)
#----------
# 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)
Run the code above in your browser using DataLab