R 以放射状格式显示簇
我有一个集群列表,比如从集群1到集群3;随着 他们的成员名单如下。我想显示径向格式的集群。我正在考虑使用as.phylo函数 在ape包中显示,但这需要创建hclust对象。如果有人知道如何执行此操作,则非常感谢创建hclust对象或其他 非常感谢R 以放射状格式显示簇,r,dendrogram,hclust,dendextend,R,Dendrogram,Hclust,Dendextend,我有一个集群列表,比如从集群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
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
非常感谢 (这是我的答案副本)
假设您可以创建hclust(从可以定义距离度量的变量中创建),那么可以通过组合两个新包来完成:Circleze和Dendestend
可以使用Circize_树状图功能绘制图(允许对plot.phylo功能的“风扇”布局进行更精确的控制)
#安装程序包(“Dendestend”)
#安装软件包(“环绕”)
图书馆(Dendestend)
图书馆(圆形)
#创建树状图
hchclust
用于集群,正如您在问题中提到的,您已经拥有了集群。您需要什么hclust
?这个问题似乎不清楚。我想使用as.phylo函数来显示我的群集。但是这需要一个hclust对象,我没有使用hclust算法,我有一个单独的算法来生成CLSUTER及其成员。因此,如果您知道它只需要一个hclust
对象,那么就不能使用as.phylo
。正确的问题是“如何正确显示我的簇?”或“如何用我的数据生成类似于as.phylo的图?”你是对的。我将编辑我的问题。如果你能展示一些你做过的研究,很多人都想知道,也许还有一张关于as.phylo图的图片。谢谢Tal,这真的很有帮助,但我想做的是创建hclust;我有一个距离矩阵,但在这个距离矩阵上应用hclust将产生不同的结果。如果我想手动更改例如“Valiant”leaf以与Mercs结合,我猜上面示例中有一个简单的示例;这可能吗?嗨@qfd,你的距离矩阵就是hclust使用的。之后,可以将hclust转换为树状图,然后指定新标签(在加载DendExtrend包之后)。请使用函数dput创建再现您的情况的对象。
# 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)