Learn R Programming

IntClust (version 0.0.2)

CECb: Complementary Ensemble Clustering - version b

Description

Function CECb performs complementary ensemble clustering in which in every iteration the total number of features are used in the clustering procedure. However, the function is capable of cutting the resulting dendrogram several times, each time into a different number of cluster.

Usage

CECb(List, distmeasure = c("tanimoto", "tanimoto"),normalize=FALSE,method=NULL,
nrclusters = seq(5, 25, 1), weight = NULL, clust = "agnes",
linkage=c("flexible","flexible"), alpha=0.625,WeightClust = 0.5,StopRange=FALSE)

Arguments

List

A list of data matrices. It is assumed the rows are corresponding with the objects.

distmeasure

A character vector with the distance measure for each data matrix. Should be one of "tanimoto", "euclidean", "jaccard","hamming".

normalize

Logical. Indicates whether to normalize the distance matrices or not. This is recommended if different distance types are used. More details on normalization in Normalization.

method

A method of normalization. Should be one of "Quantile","Fisher-Yates", "standardize","Range" or any of the first letters of these names.

nrclusters

A sequence of numbers of clusters to cut the dendrogram in.

weight

Optional. A list of different weight combinations for the data sets in List. If NULL, the weights are determined to be equal for each data set. It is further possible to fix weights for some data matrices and to let it vary randomly for the remaining data sets. An example is provided in the details.

clust

Choice of clustering function (character). Defaults to "agnes".

linkage

A vector with the choice of inter group dissimilarity (character) for each data set.

alpha

The parameter alpha to be used in the "flexible" linkage of the agnes function. Defaults to 0.625 and is only used if the linkage is set to "flexible"

WeightClust

A weight for which the result will be put aside of the other results. This was done for comparative reason and easy access.

StopRange

Logical. Indicates whether the distance matrices with values not between zero and one should be standardized to have so. If FALSE the range normalization is performed. See Normalization. If TRUE, the distance matrices are not changed. This is recommended if different types of data are used such that these are comparable.

Value

The returned value is a list with the following four elements.

Incidence

The summed incidence matrices for each data matrix

IncidenceComb

The co-association matrix after a weighted sum of the elements of Incidence for each weight

Results

The hierarchical clustering result for each element in IncidenceComb

Clust

The result for the weight specified in Clustweight

The value has class 'CEC'

Details

Ensemble clustering is performed on each data matrix. This comes down to repeatedly applying hierarchical clustering. All features will be used in every iteration. Variation is inserted by not splitting the dendrogram a single time into one specific number of clusters but multiple times and for a range of numbers of clusters. Afterwards the two incidence matrices are combined in a weighted sum and hierarchical clustering is performed once more. More information can be found in Fodeh et al. (2013).

The weight combinations should be provided as elements in a list. For three data matrices an example could be: weights=list(c(0.5,0.2,0.3),c(0.1,0.5,0.4)). To provide a fixed weight for some data sets and let it vary randomly for others, the element "x" indicates a free parameter. An example is weights=list(c(0.7,"x","x")). The weight 0.7 is now fixed for the first data matrix while the remaining 0.3 weight will be divided over the other two data sets. This implies that every combination of the sequence from 0 to 0.3 with steps of 0.1 will be reported and clustering will be performed for each.

References

FODEH, J. S., BRANDT, C., LUONG, B. T., HADDAD, A., SCHULTZ, M., MURPHY, T., KRAUTHAMMER, M. (2013). Complementary Ensemble Clustering of Biomedical Data. J Biomed Inform. 46(3) pp.436-443.

See Also

CEC,CECa,CECc

Examples

Run this code
# NOT RUN {
data(fingerprintMat)
data(targetMat)
L=list(fingerprintMat,targetMat)
MCF7_CECb=CECb(L,distmeasure=c("tanimoto","tanimoto"),normalize=FALSE,method=NULL,
nrclusters=seq(5,25,1),clust="agnes",linkage=c("flexible","flexible"),alpha=0.625,StopRange=FALSE)
# }

Run the code above in your browser using DataLab