开始使用免费开始使用

美化树状图

您已经做出了一个树状图,但它没有您预期的那么吸引人!

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
___(___, ___, ___)
编辑并运行代码