示例 1 - 樹狀圖叢集的 hclust 顯示的基本用法

叢集庫包含 ruspini 資料 - 用於說明叢集分析的標準資料集。

    library(cluster)                ## to get the ruspini data
    plot(ruspini, asp=1, pch=20)    ## take a look at the data

StackOverflow 文件

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)

StackOverflow 文件

剪下樹以給出四個聚類並重新繪製按簇著色點的資料。k 是所需的簇數。

    rhc_def_4 = cutree(ruspini_hc_defaults,k=4)
    plot(ruspini, pch=20, asp=1, col=rhc_def_4)

StackOverflow 文件

這種聚類有點奇怪。我們可以通過首先擴充套件資料來獲得更好的聚類。

    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)

StackOverflow 文件

用於比較群集的預設差異度度量是完整的。你可以使用 method 引數指定其他度量。

    ruspini_hc_single = hclust(dist(ruspini), method="single")