3

我有一个集群列表,可以说从集群 1 到集群 3;连同他们的成员,例如下面。我想以径向格式显示集群。我正在考虑使用 ape 包中的 as.phylo 函数来显示它,但这需要创建一个 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

非常感谢!

4

1 回答 1

2

(这是我对“crossvalidated”中类似问题的回答的副本)

假设您可以创建 hclust(从可以定义距离度量的变量) - 然后可以通过组合两个新包来完成:circlize 和 dendextend。

可以使用 circlize_dendrogram 函数制作绘图(允许对 plot.phylo 函数的“扇形”布局进行更精细的控制)。

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

在此处输入图像描述

于 2015-09-17T20:35:11.817 回答