聚类结构和树结构的相互转换
为什么要转化聚类结构和树结构呢?
因为通过聚类,通过矩阵计算出来的树和基于进化距离做的树结构其实是相似的,借助于ggtree也好还是其他可用于树结构可视化的分析也罢,都可以进行很好的展示,所以在这里我进行相互转化的。
#-------进化树文件转化为聚类数#---------
library('ape')
tree <- read.tree(text='(((A:4.2,B:4.2):3.1,C:7.3):6.3,D:13.6);')
is.rooted(tree)## [1] TRUE
hc <- as.hclust.phylo(tree)
#-可以使用plot出图
plot(hc)
# BiocManager::install("ctc")
#---聚类数转化为进化树格式#----------
library("ctc")
data(USArrests)
h = hclust(dist(USArrests))
plot(h)
write(hc2Newick(h),file='hclust.newick')
#--试着将保存的树重新导入
library(ggtree)
tree <- read.tree("./hclust.newick")
# 树可视化
library(ggtree)
ggtree(tree,layout = 'dendrogram') +
geom_tippoint() +
geom_tiplab(angle = 90,hjust = 1)
赞 (0)