然后就是今天的要介绍的R包:dendextend。 它很神奇,支持管道! suppressPackageStartupMessages(library(tidyverse)) library(dendextend) ## ## --------------------- # # Welcome to dendextend version 1.15.2 ## Type citation('dendextend') for how to cite the package. ## /talgalili/dendextend/issues ## You may ask questions at stackoverflow, use the r and dendextend tags : ## https://stackoverflow.com/questions/tagged/dendextend ## ## To suppress this message use:
R语言包dendextend这个包可以实现,利用help(package="dendextend")查看帮助文档,能够看到其中的一个小例子 iris2<-iris[,-5] species_labels hc_iris<-hclust(d_iris,method="complete") iris_species<-rev(levels(iris[,5])) iris_species library(dendextend 还找到了一个参考链接是 http://talgalili.github.io/dendextend/articles/dendextend.html 介绍的也是 dendextend这个包的用法。
我们可以更改聚类树的展示方式,以及对聚类树进行操作: library(dendextend) library(circlize) tree=as.dendrogram(hclust) par(mfrow method="bray", diag=TRUE, upper=TRUE, p=2) #进行聚类分析并作图 hclust=hclust(otu_dist, method="average") library(dendextend dendrapply(hcd, colLab) plot(clusDendro, main ="UPGMA Tree", type="rectangle", horiz=TRUE) 作图结果如下所示: 软件包dendextend
16), ColSideColors = c(rep("purple", 5), rep("orange", 6))) 图片 2.5 聚类树上色 #install.packages("dendextend ") library(dendextend) row_dend = hclust(dist(df)) # 行聚类 col_dend = hclust(dist(t(df))) # 列聚类 Heatmap
(mtcars)[1:10, ], seriate = "OLO" #seriate = "GW" #seriate = "mean" #seriate = "none" ) 使用 dendextend 自定义树状图 用户可以使用 Rowv 和 Colv 参数为热图的行/列提供自己的树状图: x <- as.matrix(datasets::mtcars) library("dendextend")
使用 dendextend 包增强热图 软件包 dendextend 可以用于增强其他软件包的功能 library(dendextend)# order for rows Rowv <- mtcars 我们还可以利用 color_branches() 自定义树状图外观 library(dendextend) row_dend = hclust(dist(df)) # row clustering col_dend
mtcars') new_mtcars <- mtcars[,1:7] plot(as.phylo(hclust(dist(new_mtcars))),type="fan") 2. circlize和dendextend
细节知识点 SNP和SNV dbSNP 使用0,1,2这样的数值来编码野生型,杂合,纯合子位点 dendextend 其实,该文章进化树的形式展现结果并不好,如下: ?
standardize the data metric = "euclidean" # metric for distance matrix ) 比较树状图 使用dendextend ::dendlist(dend1, dend2) dendextend::tanglegram(dend1, dend2) ? image-20200722135343171 比对的质量可以使用entanglement()函数来计算,这个值是0到1之间的,越小说明比对越好 dendextend::entanglement(dend1 [1] 0.8342094 也可以使用cor.dendlist()函数来计算两个树的相关性,有两种方法cophenetic和baker # Cophenetic correlation matrix dendextend [,1] [,2] # [1,] 1.000000 0.843143 # [2,] 0.843143 1.000000 # Baker correlation matrix dendextend
layout(matrix(c(1,2,3), 1, 3, byrow=TRUE), widths=c(1, 2, 1)) orhclust=reorder(hclust, otu_dist) library(dendextend matrix(c(1,2,3,1,4,5), 2, 3, byrow=TRUE), widths=c(1, 1, 1)) orhclust=reorder(hclust, otu_dist) library(dendextend
包自定义聚类树的颜色,具体做法如下: library(dendextend) ## ## --------------------- ## Welcome to dendextend version 1.15.1 ## Type citation('dendextend') for how to cite the package. ## ## Type browseVignettes(package = 'dendextend') for the package vignette. ## The github page is: https://github.com/talgalili/dendextend / ## ## Suggestions and bug-reports can be submitted at: https://github.com/talgalili/dendextend/issues )) ## --------------------- ## ## 载入程辑包:'dendextend' ## The following object is masked from 'package
按分支名字(样品名字)的字母顺序排序 library(dendextend) col_cluster <- hclust_1 %>% as.dendrogram %>% sort %>% as.hclust
library(tidyr) library(jtools) library(dplyr) library(cluster) library(fpc) library(ggplot2) library(dendextend
参考历史推文:聚类分析可视化之dendextend suppressPackageStartupMessages(library(dendextend)) tmp <- exprset colnames
/Enrich_df.csv", header = T, row.names = 1) library(dendextend) library(ComplexHeatmap) library(tibble
结合dendextend和ape包来完全控制你的树状图。 ?
= 360, end = 360*2 + 180, scale_by = "curve_length") spiral_track() spiral_phylo(tree.hiv) split = dendextend
Heatmap(mat, name = "mat", clustering_method_rows = "single") D:聚类树的渲染 根据聚类结果将聚类树的枝设置不同的颜色 library(dendextend
根据前面分析结果确定最佳聚类簇数目,并绘制聚类树 #根据距离矩阵的样品顺序对聚类树做相应旋转,使样品排列尽可能接近原来顺序 orhclust=reorder(hclust, otu_dist) library(dendextend
BiocGenerics)library(readr)library(rtracklayer)library(infercnv)library(phylogram)library(utils)library(dendextend