Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 以放射状格式显示簇_R_Dendrogram_Hclust_Dendextend - Fatal编程技术网

R 以放射状格式显示簇

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

我有一个集群列表,比如从集群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
非常感谢

(这是我的答案副本)

假设您可以创建hclust(从可以定义距离度量的变量中创建),那么可以通过组合两个新包来完成:Circleze和Dendestend

可以使用Circize_树状图功能绘制图(允许对plot.phylo功能的“风扇”布局进行更精确的控制)

#安装程序包(“Dendestend”)
#安装软件包(“环绕”)
图书馆(Dendestend)
图书馆(圆形)
#创建树状图

hc
hclust
用于集群,正如您在问题中提到的,您已经拥有了集群。您需要什么
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)