【问题标题】:color branches of dendrogram by groups in R (without h or k element)R 中按组划分的树状图的颜色分支(没有 h 或 k 元素)
【发布时间】:2023-03-14 09:58:01
【问题描述】:

我想按数据框中定义的特定组为树状图的分​​支着色。

library(reshape2)
library(factoextra) # clustering visualization 
library(dendextend)
#iris dataset
#defining colors
colori = rep(NA, length=length(iris$Species))
colori[which(iris$Species=="setosa")] = "red"
colori[which(iris$Species=="versicolor")] = "blue"
colori[which(iris$Species=="virginica")] = "yellow"

iris_dist <- dist(iris[ ,1:4],)
hc1_iris <- hclust(iris_dist,method = "average")
col_dendro_iris <- color_branches(as.dendrogram(hc1_iris),groupLabels =T, clusters = iris$Species,col=colori)

col_dendro_iris_plot <- plot(col_dendro_iris,main = "Dendrogram of normalized BLS\ncolored by manmade groups",labels = NULL,xlab = NULL)

这只会使树枝染成红色。为什么?我该如何解决

编辑: 当我这样做时它会起作用

pca_iris <- PCA(iris[ ,1:4])
colori = rep(NA, length=length(iris$Species))
colori[which(iris$Species=="versicolor")] = "red"
colori[which(iris$Species=="virginica")] = "yellow"
colori[which(iris$Species=="setosa")] = "blue"
# species <- iris$Species
iris_gr <- cbind(iris,colori)
# 
pca_iris <- fviz_pca_ind(pca_iris,
             pointshape = 21,habillage = iris$Species,
             geom.ind = c("point"),geom = c("point"),palette = iris$colori,
             title="PCA of normalized BLS\ncolored by manmade groups")
pca_iris<- pca_iris + theme(legend.position = "upper.right")

只为未来的读者。 但实际上我无法以模拟方式为树状图着色。 我没有用于定义集群的kh 元素。就像在 iris 中一样,我已经预定义了要着色的簇。

【问题讨论】:

标签: r dendrogram graph-coloring factoextra


【解决方案1】:

您应该使用库dendextend。它具有扩展树状图对象的功能。

下面是一个简单的例子。

library(dendextend)
dend_var<-as.dendrogram(hc_var)
dend_colored<-color_branches(dend_var, h=10000, k=7)
plot(dend_colored)

dend_var 是一个树状图或 hclust 树对象。

k 用于选择组数。

h用于选择砍树的高度。

【讨论】:

  • 谢谢@SlowLearning。实际上我没有hkelement。我的组类似于 iris,在 data.frame 中预定义
  • @takeITeasy 当您使用树状图时,您正在谈论层次聚类。在这种情况下,您只有 4 个组,这是因为您只有四个变量。树状图从下到上开始(我这样说是因为您会在下半部分找到您在分析中使用的所有变量)。我在查找组时使用树状图,并且需要查看变量的环境(每一步都是水平的)。例如,要选择组,您应该切割树状图。
猜你喜欢
  • 1970-01-01
  • 2023-03-30
  • 2019-09-08
  • 2018-07-16
  • 2018-05-23
  • 1970-01-01
  • 2015-12-02
  • 2018-04-25
  • 2016-04-23
相关资源
最近更新 更多