【问题标题】:How can we put label of hclust in table according to clusters formed in dendogram我们如何根据树状图中形成的集群将 hclust 的标签放在表中
【发布时间】:2020-07-19 16:11:46
【问题描述】:

我有一个树状图,其中包含许多叶节点/标签的集群 如何根据使用 R

形成的集群将这些 hclust 标签放在表中

【问题讨论】:

  • 嗨,我添加了一些代码,展示了如何将集群名称粘贴到矢量元素中
  • 感谢您的帮助。
  • 如果答案解决了您的问题,请随时接受。
  • 虽然克里斯的回答是有效的,但我认为这不是正确的答案。你应该使用cutree,请看我的回复。

标签: r dendrogram hclust


【解决方案1】:

我相信更直接的方法是使用cutree(而不是通过rect.dendrogram):

> d1 <- USArrests[1:10,]
> d1 <- USArrests[1:10,]
> hc <- hclust(dist(d1))
> hcc <- cutree(hc, k = 3)
> hcc
    Alabama      Alaska     Arizona    Arkansas  California 
          1           1           2           1           2 
   Colorado Connecticut    Delaware     Florida     Georgia 
          1           3           1           2           1 
> data.frame(d1, hcc)
            Murder Assault UrbanPop Rape hcc
Alabama       13.2     236       58 21.2   1
Alaska        10.0     263       48 44.5   1
Arizona        8.1     294       80 31.0   2
Arkansas       8.8     190       50 19.5   1
California     9.0     276       91 40.6   2
Colorado       7.9     204       78 38.7   1
Connecticut    3.3     110       77 11.1   3
Delaware       5.9     238       72 15.8   1
Florida       15.4     335       80 31.9   2
Georgia       17.4     211       60 25.8   1

专业提示:如果您使用的是 dendrogram 而不是 hclut,您可以使用 dendextend 包来获得用于 dendrogram 的 cutree。

【讨论】:

    【解决方案2】:

    您需要访问存储在您的rect.hclust 对象中的数据,如下所示:

    obj <- rect.hclust(my_matrix, k = n)
    str(obj)
    

    通过使用str 检查obj,您将找到按集群分组的所有变量的列表。您可以将它们导出为表格形式,例如使用lapply

    labels <- lapply(obj, paste0, collapse = ",")
    

    【讨论】:

      猜你喜欢
      • 2019-02-13
      • 2017-09-22
      • 2016-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-05
      • 2016-04-29
      • 1970-01-01
      相关资源
      最近更新 更多