Description Usage Arguments Details Value Examples
Find sets of samples that stay together across clusterings in order to define a new clustering vector.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19  ## S4 method for signature 'matrix'
makeConsensus(
x,
proportion,
clusterFunction = "hierarchical01",
minSize = 5,
propUnassigned = 0.5,
whenUnassign = c("before", "after"),
clusterArgs = NULL
)
## S4 method for signature 'ClusterExperiment'
makeConsensus(
x,
whichClusters,
eraseOld = FALSE,
clusterLabel = "makeConsensus",
...
)

x 
a matrix with samples on the rows and different clusterings on the
columns or 
proportion 
The proportion of times that two sets of samples should be together in order to be grouped into a cluster (if <1, passed to mainClustering via alpha = 1  proportion) 
clusterFunction 
the clustering function to use (passed to

minSize 
minimum size required for a set of samples to be considered in
a cluster because of shared clustering, passed to

propUnassigned 
samples with greater than this proportion of assignments equal to '1' are assigned a '1' cluster value as a last step (only if proportion < 1) 
whenUnassign 
(provided for back compatibility with previous versions).
Must be one of "before" or "after", indicating at what point are samples
with a proportion of assignments of 1 greater than 
clusterArgs 
list of arguments to be passed to the call to

whichClusters 
argument that can be either numeric or character vector
indicating the clusterings to be used. See details of 
eraseOld 
logical. Only relevant if input 
clusterLabel 
a string used to describe the type of clustering. By default it is equal to "makeConsensus", to indicate that this clustering is the result of a call to makeConsensus. However, a more informative label can be set (see vignette). 
... 
arguments to be passed on to the method for signature

This function was previously called combineMany
(versions <=
2.0.0). combineMany
is still available, but is considered defunct
and users should update their code accordingly.
The function tries to find a consensus cluster across many different
clusterings of the same samples. It does so by creating a nSamples
x
nSamples
matrix of the percentage of cooccurance of each sample and
then calling mainClustering to cluster the cooccurance matrix. The function
assumes that '1' labels indicate clusters that are not assigned to a
cluster. Cooccurance with the unassigned cluster is treated differently
than other clusters. The percent cooccurance is taken only with respect to
those clusterings where both samples were assigned. Then samples with more
than propUnassigned
values that are '1' across all of the
clusterings are assigned a '1' regardless of their cluster assignment.
The method calls mainClustering
on the proportion
matrix with clusterFunction
as the 01 clustering algorithm,
alpha=1proportion
, minSize=minSize
, and
evalClusterMethod=c("average")
. See help of
mainClustering
for more details.
If x is a matrix, a list with values
clustering
vector of cluster assignments, with "1" implying
unassigned
percentageShared
a nSample x nSample matrix of the percent
cooccurance across clusters used to find the final clusters. Percentage is
out of those not '1'
noUnassignedCorrection
a vector of
cluster assignments before samples were converted to '1' because had
>propUnassigned
'1' values (i.e. the direct output of the
mainClustering
output.)
If x is a ClusterExperiment
, a
ClusterExperiment
object, with an added clustering of
clusterTypes equal to makeConsensus
and the percentageShared
matrix stored in the coClustering
slot.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28  data(simData)
cl < clusterMany(simData,nReducedDims=c(5,10,50), reduceMethod="PCA",
clusterFunction="pam", ks=2:4, findBestK=c(FALSE), removeSil=TRUE,
makeMissingDiss=TRUE, subsample=FALSE)
#make names shorter for plotting
clMat < clusterMatrix(cl)
colnames(clMat) < gsub("TRUE", "T", colnames(clMat))
colnames(clMat) < gsub("FALSE", "F", colnames(clMat))
colnames(clMat) < gsub("k=NA,", "", colnames(clMat))
#require 100% agreement  very strict
clCommon100 < makeConsensus(clMat, proportion=1, minSize=10)
#require 70% agreement based on clustering of overlap
clCommon70 < makeConsensus(clMat, proportion=0.7, minSize=10)
oldpar < par(no.readonly = TRUE)
par(mar=c(1.1, 12.1, 1.1, 1.1))
plotClusters(cbind("70%Similarity"=clCommon70, clMat,
"100%Similarity"=clCommon100), axisLine=2)
#method for ClusterExperiment object
clCommon < makeConsensus(cl, whichClusters="workflow", proportion=0.7,
minSize=10)
plotClusters(clCommon)
par(oldpar)

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.