Description Usage Arguments Value Examples
This function will run a semi-supervised hierarchical clustering, using prior knowledge to initialize clusters, and then unsupervised clustering on the unlabeled data.
1 2 3 4 5 6 | hclust_semisupervised(
data,
groups,
dist_method = "euclidean",
hclust_method = "complete"
)
|
data |
a data.frame to be clustered by rows |
groups |
a list of vectors. If we unlist(groups), all elements must be present in the rownames of data. Each vector in the list will be treated as a separate group for the hierarchical clustering, and rejoined in order at the end. |
dist_method |
a distance computation method. Must be one of "euclidean", "maximum", "manhattan", "canberra", "binary", "minkowski", "pearson", "spearman" |
hclust_method |
an agglomeration method. Should be a method supported by hclust, one of: "ward.D", "ward.D2", "single", "complete", "average" (= UPGMA), "mcquitty" (= WPGMA), "median" (= WPGMC) or "centroid" (= UPGMC). |
hclust_semisupervised returns a list. The first element of the list is the data, reordered so that the merged hclust object will work. The second element is the result of the semi-supervised hierarchical clustering.
1 2 3 4 5 6 7 8 9 10 11 | #--- add unique labels to 'iris' data
rownames(iris) <- paste(iris$Species, formatC(1:nrow(iris), width=3, flag="0"), sep="_")
#--- unsupervised clustering
hc <- hclust(dist(iris[, -5]))
plot(hc, hang=-1, cex=0.5)
#--- semi-supervised clustering
hc_ssuper <- hclust_semisupervised(data = iris[, -5],
groups = split(rownames(iris), iris$Species))
plot(hc_ssuper, hang=-1, cex=0.5)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.