[英]Color branches of a dendrogram based on column in dataframe
我想根據 hclust 函數中使用的數據幀列中的值為樹狀圖的分支着色。
在您將這個問題標記為重復之前,正如在這個問題中所做的那樣,它鏈接到這個問題。 請注意,這實際上從未在答案中完全解決。 根據樹狀圖的拓撲為分支着色很容易,但我無法弄清楚如何根據hclust
函數中使用的數據幀中的hclust
。
我已經嘗試以兩種非常相似的方式使用 dendexend 包:
library(dendextend)
par(mar = c(2,1,0,8)) #make sure the whole plot is on the page
hc <- hclust(dist(mtcars)) #cluster dataframe based on distance
dend <- as.dendrogram(hc) #use dendextend to create dendrogram
dend2 <- color_branches(dend, col = mtcars$cyl) #attempt but fail at coloring branches
plot (dend2, horiz = TRUE) #plot dendrogram
和
dend3 <- assign_values_to_leaves_edgePar(dend, value = mtcars$cyl, edgePar = "col") #attempt but fail at coloring branches
plot (dend3, horiz = TRUE) #plot dendrogram
用factor(mtcars$cyl
替換mtcars$cyl
不能解決問題。
這兩種解決方案都會產生未正確着色的樹狀圖。 看起來它是根據 cyl 列中值的順序從樹狀圖的底部到頂部對顏色進行排序,但由於分支不再按該順序排列,着色沒有任何意義。 我不想對數據框進行排序來解決這個問題。
謝謝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.