gpt4 book ai didi

r - R 中各组的树状图的颜色分支(无 h 或 k 元素)

转载 作者:行者123 更新时间:2023-12-02 02:51:28 24 4
gpt4 key购买 nike

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

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)

这只会将 Twig 染成红色。为什么?我该如何解决这个问题 enter image description here

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

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")

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

最佳答案

您应该使用库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 用于选择砍伐树木的高度。

enter image description here

关于r - R 中各组的树状图的颜色分支(无 h 或 k 元素),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61906473/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com