示例 1 - 樹狀圖叢集的 hclust 顯示的基本用法
叢集庫包含 ruspini 資料 - 用於說明叢集分析的標準資料集。
library(cluster) ## to get the ruspini data
plot(ruspini, asp=1, pch=20) ## take a look at the data
hclust 需要一個距離矩陣,而不是原始資料。我們使用預設引數計算樹並顯示它。hang 引數沿著基線排列樹的所有葉子。
ruspini_hc_defaults <- hclust(dist(ruspini))
dend <- as.dendrogram(ruspini_hc_defaults)
if(!require(dendextend)) install.packages("dendextend"); library(dendextend)
dend <- color_branches(dend, k = 4)
plot(dend)
剪下樹以給出四個聚類並重新繪製按簇著色點的資料。k 是所需的簇數。
rhc_def_4 = cutree(ruspini_hc_defaults,k=4)
plot(ruspini, pch=20, asp=1, col=rhc_def_4)
這種聚類有點奇怪。我們可以通過首先擴充套件資料來獲得更好的聚類。
scaled_ruspini_hc_defaults = hclust(dist(scale(ruspini)))
srhc_def_4 = cutree(scaled_ruspini_hc_defaults,4)
plot(ruspini, pch=20, asp=1, col=srhc_def_4)
用於比較群集的預設差異度度量是完整的。你可以使用 method 引數指定其他度量。
ruspini_hc_single = hclust(dist(ruspini), method="single")