真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

R語(yǔ)言中怎么用ggtree畫圓形的樹(shù)狀圖展示聚類分析的結(jié)果

今天就跟大家聊聊有關(guān)R語(yǔ)言中怎么用ggtree畫圓形的樹(shù)狀圖展示聚類分析的結(jié)果,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

成都創(chuàng)新互聯(lián)公司主營(yíng)華陰網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都App制作,華陰h5成都小程序開(kāi)發(fā)搭建,華陰網(wǎng)站營(yíng)銷推廣歡迎華陰等地區(qū)企業(yè)咨詢

 今天的主要內(nèi)容是實(shí)現(xiàn)下面這幅圖
R語(yǔ)言中怎么用ggtree畫圓形的樹(shù)狀圖展示聚類分析的結(jié)果  
image.png

做完聚類分析通??梢赃x擇樹(shù)形圖來(lái)展示聚類分析的結(jié)果,之前公眾號(hào)也分享過(guò)一篇文章  R語(yǔ)言聚類樹(shù)圖小例子 如果樣本數(shù)不是很多,可以選擇矩形的樹(shù)狀圖。但是樣本數(shù)如果比較多,比如今天一位公眾號(hào)的讀者留言說(shuō)他有160多個(gè)樣本,這樣矩形的樹(shù)狀圖就會(huì)比較寬或者比較長(zhǎng)。這個(gè)時(shí)候就可以選擇用圓形的柱形圖來(lái)展示。

那么圓形的樹(shù)狀圖如何實(shí)現(xiàn)呢?我查找了一下相關(guān)資料。R語(yǔ)言包dendextend這個(gè)包可以實(shí)現(xiàn),利用help(package="dendextend")查看幫助文檔,能夠看到其中的一個(gè)小例子

iris2<-iris[,-5]
species_labels<-iris[,5]
library(colorspace)
species_col<-rev(rainbow_hcl(3))[as.numeric(species_labels)]
d_iris<-dist(iris2)
hc_iris<-hclust(d_iris,method="complete")
iris_species<-rev(levels(iris[,5]))
iris_species
library(dendextend)
dend<-as.dendrogram(hc_iris)
dend <- color_branches(dend, k=3)

labels(dend) <- paste(as.character(iris[,5])[order.dendrogram(dend)],
                     "(",labels(dend),")",
                     sep = "")
circlize_dendrogram(dend)
 
R語(yǔ)言中怎么用ggtree畫圓形的樹(shù)狀圖展示聚類分析的結(jié)果  
image.png

但是這個(gè)后期美化起來(lái)好像不太方便。

還找到了一個(gè)參考鏈接是 http://talgalili.github.io/dendextend/articles/dendextend.html

介紹的也是 dendextend這個(gè)包的用法。

Y叔開(kāi)發(fā)的ggtree包時(shí)用來(lái)可視化進(jìn)化樹(shù)的,我隱約記得好像也可以用來(lái)畫聚類分析的樹(shù)狀圖。所以我搜索 ggtree show cluster result找到 http://yulab-smu.top/treedata-book/chapter9.html 這個(gè)應(yīng)該是Y叔專門為ggtree寫的一本書。這里寫到直接將聚類分析的結(jié)果傳遞給ggtree()就可以,比如

library(ggtree)
hc <- hclust(dist(mtcars))
ggtree(hc)
 

這里我先用了 我之前在3.6.1版本上安裝的ggtree,是不可以的。應(yīng)該是需要更新到最新的ggtree版本。如何更新R包這里我沒(méi)有仔細(xì)研究。我直接安裝了R4.0.3,然后在這個(gè)R版本里安裝ggtree

install.packages("BiocManager")
BiocManager::install("ggtree")
 

這個(gè)時(shí)候再運(yùn)行上面提到的例子就可以直接得到結(jié)果

library(ggtree)
hc <- hclust(dist(mtcars))
ggtree(hc)
 
R語(yǔ)言中怎么用ggtree畫圓形的樹(shù)狀圖展示聚類分析的結(jié)果  
image.png
 基本的美化

把樹(shù)的形狀改為圓形,添加樣本的名稱

ggtree(hc,layout = "circular")+
 geom_tiplab2(offset=10)+
 xlim(0,300)
 
R語(yǔ)言中怎么用ggtree畫圓形的樹(shù)狀圖展示聚類分析的結(jié)果  
image.png
 接下來(lái)我們用鳶尾花的數(shù)據(jù)集試一下

鳶尾花數(shù)據(jù)集是150個(gè)樣本,用圓形的圖看下效果

df<-iris[,1:4]  
rownames(df)<-paste(iris$Species,1:150,sep="_")

hc<-hclust(dist(df))
library(ggtree)
help(package="ggtree")
ggtree(hc,layout="circular")+
 xlim(0,5)+
 geom_tiplab2(offset=0.1,
              size=2)+
 #geom_text(aes(label=node))+
 geom_highlight(node = 152,fill="red")+
 geom_highlight(node=154,fill="steelblue")+
 geom_highlight(node=155,fill="green")+
 geom_cladelabel(node=152,label="virginica",
                 offset=1.2,barsize = 2,
                 vjust=-0.5,color="red")+
 geom_cladelabel(node=154,label="versicolor",
                 offset=1.2,barsize = 2,
                 hjust=1.2,color="steelblue")+
 geom_cladelabel(node=155,label="setosa",
                 offset=1.2,barsize = 2,
                 hjust=-1,color="green")
 

最終的結(jié)果是

R語(yǔ)言中怎么用ggtree畫圓形的樹(shù)狀圖展示聚類分析的結(jié)果  

看完上述內(nèi)容,你們對(duì)R語(yǔ)言中怎么用ggtree畫圓形的樹(shù)狀圖展示聚類分析的結(jié)果有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


網(wǎng)頁(yè)名稱:R語(yǔ)言中怎么用ggtree畫圓形的樹(shù)狀圖展示聚類分析的結(jié)果
標(biāo)題來(lái)源:http://weahome.cn/article/iesohi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部