Learn R Programming

NMF (version 0.28)

connectivity: Clustering Connectivity and Consensus Matrices

Description

connectivity is an S4 generic that computes the connectivity matrix based on the clustering of samples obtained from a model's predict method.

The consensus matrix has been proposed by Brunet et al. (2004) to help visualising and measuring the stability of the clusters obtained by NMF approaches. For objects of class NMF (e.g. results of a single NMF run, or NMF models), the consensus matrix reduces to the connectivity matrix.

Usage

connectivity(object, ...)

# S4 method for NMF connectivity(object, no.attrib = FALSE)

consensus(object, ...)

Value

a square matrix of dimension the number of samples in the model, full of 0s or 1s.

Arguments

object

an object with a suitable predict method.

...

extra arguments to allow extension. They are passed to predict, except for the vector and factor methods.

no.attrib

a logical that indicates if attributes containing information about the NMF model should be attached to the result (TRUE) or not (FALSE).

Methods

connectivity

signature(object = "ANY"): Default method which computes the connectivity matrix using the result of predict(x, ...) as cluster membership index.

connectivity

signature(object = "factor"): Computes the connectivity matrix using x as cluster membership index.

connectivity

signature(object = "numeric"): Equivalent to connectivity(as.factor(x)).

connectivity

signature(object = "NMF"): Computes the connectivity matrix for an NMF model, for which cluster membership is given by the most contributing basis component in each sample. See predict,NMF-method.

consensus

signature(object = "NMFfitX"): Pure virtual method defined to ensure consensus is defined for sub-classes of NMFfitX. It throws an error if called.

consensus

signature(object = "NMF"): This method is provided for completeness and is identical to connectivity, and returns the connectivity matrix, which, in the case of a single NMF model, is also the consensus matrix.

consensus

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

See consensus,NMFfitX1-method for more details.

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.

See consensus,NMFfitXn-method for more details.

Details

The connectivity matrix of a given partition of a set of samples (e.g. given as a cluster membership index) is the matrix \(C\) containing only 0 or 1 entries such that: $$C_{ij} = \left\{\begin{array}{l} 1\mbox{ if sample }i\mbox{ belongs to the same cluster as sample }j\\ 0\mbox{ otherwise} \end{array}\right..$$

References

Brunet J, Tamayo P, Golub TR and Mesirov JP (2004). "Metagenes and molecular pattern discovery using matrix factorization." _Proceedings of the National Academy of Sciences of the United States of America_, *101*(12), pp. 4164-9. ISSN 0027-8424, <URL: http://dx.doi.org/10.1073/pnas.0308531101>, <URL: http://www.ncbi.nlm.nih.gov/pubmed/15016911>.

See Also

Examples

Run this code
# roxygen generated flag
options(R_CHECK_RUNNING_EXAMPLES_=TRUE)


#----------
# connectivity,ANY-method
#----------
# clustering of random data
h <- hclust(dist(rmatrix(10,20)))
connectivity(cutree(h, 2))

#----------
# connectivity,factor-method
#----------
connectivity(gl(2, 4))

Run the code above in your browser using DataLab