開始使用免費開始

樹狀圖的美化

你已經做出一張樹狀圖,但視覺效果沒有你預期那麼吸睛!

dendextend 套件能透過為分支上色與勾勒叢集邊界,幫助觀眾更容易閱讀。dendextend 是針對樹狀圖物件設計的,因此你需要用 as.dendrogram()hclust 產生的階層式叢集結果轉成樹狀圖物件。

檢視樹狀圖中所有詞彙的好方法是使用 labels() 函式。它會列出樹狀圖的所有詞彙。若要凸顯特定分支,使用 branches_attr_by_labels()。先傳入樹狀圖物件,再傳入詞彙向量,如 c("data", "camp")。最後加上一個顏色,例如 "blue"

畫出圖之後,你可以用 rect.dendrogram() 標示叢集。它會在每個叢集外加上矩形。rect.dendrogram() 的第一個引數是樹狀圖物件,接著是叢集數量(k)。你也可以提供 border 引數來指定矩形邊框顏色(例如 "green")。

本練習屬於課程

R 的 Bag-of-Words 文本探勘

檢視課程

練習說明

dendextend 套件已為你載入,且已使用 tweets_dist 建立了一個階層式叢集物件 hc

  • 使用 as.dendrogram() 作用在 hc,建立樹狀圖物件 hcd
  • hcdlabels 印出到主控台。
  • 使用 branches_attr_by_labels() 為分支上色。傳入三個引數:物件 hcdc("marvin", "gaye"),以及顏色 "red"。指定給 hcd_colored
  • 使用 plot() 繪製樹狀圖 hcd_colored,並透過 main 引數加上標題 "Better Dendrogram"
  • 使用 rect.dendrogram() 在圖上加上矩形。指定 k = 2 個叢集,並將 border 顏色設為 "grey50"

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Create hcd
___ <- ___(___)

# Print the labels in hcd
___(___)

# Change the branch color to red for "marvin" and "gaye"
___ <- ___(___, ___, ___)

# Plot hcd_colored
___(___, ___)

# Add cluster rectangles
___(___, ___, ___)
編輯並執行程式碼