silhouette.NMF: Silhouette of NMF Clustering

silhouette.NMFR Documentation

Silhouette of NMF Clustering

Description

Silhouette of NMF Clustering

Usage

  ## S3 method for class 'NMF'
 silhouette(x, what = NULL, order = NULL,
    ...)

Arguments

x

an NMF object, as returned by nmf.

what

defines the type of clustering the computed silhouettes are meant to assess: 'samples' for the clustering of samples (i.e. the columns of the target matrix), 'features' for the clustering of features (i.e. the rows of the target matrix), and 'chc' for the consensus clustering of samples as defined by hierarchical clustering dendrogram, 'consensus' for the consensus clustering of samples, with clustered ordered as in the default hierarchical clustering used by consensusmap when plotting the heatmap of the consensus matrix (for multi-run NMF fits). That is dist = 1 - consensus(x), average linkage and reordering based on row means.

order

integer indexing vector that can be used to force the silhouette order.

...

extra arguments not used.

See Also

predict

Examples



x <- rmatrix(75, 15, dimnames = list(paste0('a', 1:75), letters[1:15]))
# NB: using low value for maxIter for the example purpose only
res <- nmf(x, 4, nrun = 3, maxIter = 20)

# sample clustering from best fit
plot(silhouette(res))

# average silhouette are computed in summary measures
summary(res)

# consensus silhouettes are ordered as on default consensusmap heatmap
## Not run:  op <- par(mfrow = c(1,2)) 
consensusmap(res)
si <- silhouette(res, what = 'consensus')
plot(si)
## Not run:  par(op) 

# if the order is based on some custom numeric weights
## Not run:  op <- par(mfrow = c(1,2)) 
cm <- consensusmap(res, Rowv = runif(ncol(res)))
# NB: use reverse order because silhouettes are plotted top-down
si <- silhouette(res, what = 'consensus', order = rev(cm$rowInd))
plot(si)
## Not run:  par(op) 

# do the reverse: order the heatmap as a set of silhouettes
si <- silhouette(res, what = 'features')
## Not run:  op <- par(mfrow = c(1,2)) 
basismap(res, Rowv = si)
plot(si)
## Not run:  par(op) 

NMF documentation built on March 31, 2023, 6:55 p.m.