r - 使用现有列的树状图的颜色分支

标签 r cluster-analysis hierarchical-clustering dendrogram dendextend

我有一个要聚类的数据框。我现在正在使用 hclust。在我的数据框中,有一个 FLAG 列,我想以此为树状图着色。通过生成的图片,我试图找出各种 FLAG 类别之间的相似之处。我的数据框看起来像这样:

FLAG    ColA    ColB    ColC    ColD

我在 colAcolBcolCcolD 上进行聚类。我想将这些聚类并根据 FLAG 类别为它们着色。例如 - 如果为 1,则为红色,如果为 0,则为蓝色(我只有两个类别)。现在我正在使用原始版本的聚类绘图。

hc<-hclust(dist(data[2:5]),method='complete')
plot(hc)

在这方面的任何帮助将不胜感激。

最佳答案

如果您想根据某个变量为树状图的分​​支着色,则以下代码(主要取自 dendrapply 函数的帮助)应该会给出所需的结果:

x<-1:100
dim(x)<-c(10,10)
groups<-sample(c("red","blue"), 10, replace=TRUE)

x.clust<-as.dendrogram(hclust(dist(x)))

local({
  colLab <<- function(n) {
    if(is.leaf(n)) {
      a <- attributes(n)
      i <<- i+1
      attr(n, "edgePar") <-
        c(a$nodePar, list(col = mycols[i], lab.font= i%%3))
    }
    n
  }
  mycols <- groups
  i <- 0
})

x.clust.dend <- dendrapply(x.clust, colLab)
plot(x.clust.dend)

关于r - 使用现有列的树状图的颜色分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23328663/

相关文章:

r - ggmap不显示 map

machine-learning - 评论集中的前 m 个主题

c# - 使用 KMeans 聚类算法查找部分成员资格

在 R 中引用行号

r - 如何计算和绘制堆叠条的百分比标签与条的总数?

r - 使用 `testthat` 对写入/读取文件的函数或 Fortran 错误进行单元测试

r - 过滤表以仅保留非冗余组

python - scikits ARI 实现中是否存在错误,或者我对算法的理解是否有缺陷?

python - 使用互信息作为相似性度量的分层聚类?

python - 100万个对象的层次聚类