我有一个群集列表,可以说从群集1到群集3;随着 他们的会员资格如下。我想以径向格式显示簇。我在考虑使用as.phylo函数 在ape包中显示这个,但这需要创建一个hclust对象。如果有人知道如何做到这一点,非常感谢创建一个hclust对象或其他。
非常感谢!
cl var numberOfCluster
1 a 1
1 b 1
1 c 1
1 d 1
1 a 2
1 b 2
2 c 2
2 d 2
3 a 3
1 b 3
2 c 3
2 d 3
非常感谢!
答案 0 :(得分:2)
(这是我对a similar question from "crossvalidated"的答案的副本)
假设您可以创建hclust(来自可以在其上定义距离度量的变量) - 那么可以通过组合两个新包来完成:circlize和dendextend。
可以使用circlize_dendrogram函数创建绘图(允许对plot.phylo函数的" fan"布局进行更精确的控制)。
# install.packages("dendextend")
# install.packages("circlize")
library(dendextend)
library(circlize)
# create a dendrogram
hc <- hclust(dist(datasets::mtcars))
dend <- as.dendrogram(hc)
# modify the dendrogram to have some colors in the branches and labels
dend <- dend %>%
color_branches(k=4) %>%
color_labels
# plot the radial plot
par(mar = rep(0,4))
# circlize_dendrogram(dend, dend_track_height = 0.8)
circlize_dendrogram(dend, labels_track_height = NA, dend_track_height = .4)