首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏花落的技术专栏

    pheatmap 排序

    解析 hclust hclust 的顺序是靠order 和 labels 两个数据控制,labels 是有顺序的名称,其座次可以被索引提取。 <- hclust(mat) hclust_mat$order hclust_mat$labels hclust_mat$orderundefined1 11 14 16 8 17 5 20 12 1 6 9 7 10 18 3 2 19 4 13 15 hclust_mat$labelsundefined1 "Geno1" "Geno2" "Geno3" "Geno4" "Geno5" "Geno6 # reorder row_clust index <- seq(1,20, by = 1) hclust_mat$order <- index pheatmap(test, cluster_rows = hclust_mat) reorder 函数 reorder.dendrogram {stats}可以通过一个值向量实现聚类树次序重排,从而控制pheatmap的顺序,这样做的好处是实现了局域型排序

    1.6K20编辑于 2021-12-06
  • 来自专栏生信宝典

    聚类热图怎么按自己的意愿调整分支的顺序?

    (exprTable_t) hclust_1 <- hclust(col_dist) pheatmap(exprTable, cluster_cols = hclust_1) ? dend = reorder(as.dendrogram(hclust_1), wts=exprTable_t$Tet3) col_cluster <- as.hclust(dend) pheatmap 按某个基因的表达由大到小排序 dend = reorder(as.dendrogram(hclust_1), wts=exprTable_t$Tet3*(-1)) col_cluster <- as.hclust 按分支名字(样品名字)的字母顺序排序 library(dendextend) col_cluster <- hclust_1 %>% as.dendrogram %>% sort %>% as.hclust 梯子形排序:最小的分支在左侧 col_cluster <- hclust_1 %>% as.dendrogram %>% ladderize(FALSE) %>% as.hclust pheatmap(

    4.9K31发布于 2020-09-21
  • 来自专栏微生态与微进化

    层次聚类与聚类树

    在R中最常用的为stats包中的hclust()函数。 此方法一般使用弦距离矩阵(欧氏距离)进行分析,在hclust()函数中为"single"。 在在hclust()函数中为"complete"。 =hclust(otu_dist, method="average") plot(hclust) 聚类树如下图所示: 其中纵坐标为Bray-Curtis距离,越往树的基部(上图顶端)距离越大,树枝节点对应的纵坐标值为两个对象 =hclust(otu_dist, method="average") library(dendextend) library(RColorBrewer) hcd=as.dendrogram(hclust

    2.3K30编辑于 2022-05-05
  • 来自专栏科研菌

    生信代码:层次聚类和K均值聚类

    hclust( )进行聚类分析 distxy <- dist(dataFrame) hClustering <- hclust(distxy) par(mar = c(6, 4, 2, 0)) plot myplclust函数 myplclust <- function(hclust, lab = hclust$labels, lab.col = rep(1, length(hclust$labels) ), hang = 0.1, ...) { y <- rep(hclust$height, 2) x <- as.numeric(hclust$merge text(x = x, y = y[hclust$order] - (max(hclust$height) * hang), labels = lab[hclust$order], col = lab.col[hclust$order], srt = 90, adj = c(1, 0.5), xpd = NA, ...) } dataFrame <- data.frame(x = x,

    2.7K12发布于 2021-01-25
  • 来自专栏生信补给站

    绘图系列|R-corrplot相关图

    2.4 排序和聚类 order,:指定相关系数排序的方法, original原始顺序,AOE特征向量角序,FPC第一主成分顺序,hclust层次聚类顺序,alphabet字母顺序。 hclust.method:order参数为hclust时可指定hclust中方法,7种可选:complete, ward, single, average, mcquitty, median和centroid addrect:指定order参数为hclust时有效, 是否添加矩形框, 默认不添加, 用整数指定即可添加。 corrplot(corr,method="color",order="hclust",title = "hclust聚类", diag = TRUE,hclust.method="average",addCoef.col

    1.3K20发布于 2020-08-06
  • 来自专栏yiyun 的专栏

    聚类分析 练习题

    ,nrow=5,ncol=5,byrow = TRUE);d x = scale(d) # 数据标准化 D = dist(x);D # 默认为 Euclidean 距离 # 最短距离法 hc1 = hclust (D, method='single') data.frame(hc1$merge,hc1$height) plot(hc1) # 最长距离法 hc2=hclust(D,"complete");hc2 (D, 'single') # 最短距离法 plot(hc);rect.hclust(hc, 2);cutree(hc, 2) # 分2类 plot(hc);rect.hclust(hc, 3);cutree (hc, 3) # 分3类 plot(hc);rect.hclust(hc, 4);cutree(hc, 4) # 分4类 hc2 = hclust(D, 'ward.D2') # Ward.D2 法 plot(hc2);rect.hclust(hc2, 2);cutree(hc2, 2) # 分2类 plot(hc2);rect.hclust(hc2, 3);cutree(hc2, 3) # 分3

    4.2K20编辑于 2022-04-01
  • 来自专栏免疫组库研究

    【生信分析】免疫组库基础分析3-基于V/D/J使用频率的聚类分析

    3、聚类方法 ‌"hclust" (Hierarchical Clustering)‌ ‌功能‌:基于树状图的层次聚类,可结合不同距离度量(如欧氏距离)。 ‌ Immunarch R包中geneUsageAnalysis函数用法 Usage geneUsageAnalysis( .data, .method = c("js+hclust", "pca+ method A string that defines the type of analysis to perform.Can be "pca", "mds", "js", "kmeans", "hclust Method部分"cor+pca+kmeans"可以以A+B+C 的组合方式来表示; A=相似度参数(js/cor/cosine) B=降维方法(pca/tsne/mds) C=聚类方法(Kmeans/hclust (imm_gu, "js+mds+hclust", .verbose = F),.plot = "clust")

    22510编辑于 2025-10-20
  • 来自专栏优雅R

    「R」数据可视化13 : 相关性图

    ", col=col) library(RColorBrewer) corrplot(M, type="upper", order="hclust", col=brewer.pal (n=8, name="RdBu")) corrplot(M, type="upper", order="hclust", col=brewer.pal(n=8, name="RdYlBu ")) corrplot(M, type="upper", order="hclust", col=brewer.pal(n=8, name="PuOr")) #修改背景 corrplot (M, type="upper", order="hclust", col=c("black", "white"), bg="lightblue") #修改字体 corrplot(M , type="upper", order="hclust", tl.col="black", tl.srt=45) ?

    3.3K20发布于 2020-07-06
  • 来自专栏小明的数据分析笔记本

    R语言ggtree按照指定的节点旋转树

    yulab-smu.top/treedata-book/index.html 首先我们使用R语言内置的数据集mtcars做一个层次聚类 mtcars df<-mtcars[,c(1,3:6)] df df.hclust <-hclust(dist(df)) 接下来使用ggtree对层次聚类的结果进行展示 library(ggtree) ggtree(df.hclust)+ geom_tiplab(offset = 另外一个就是树 先通过geom_text()函数给每个节点添加上文字标签 ggtree(df.hclust)+ geom_tiplab(offset = 2)+ xlim(NA,280)+ image.png 通过上图我们看到需要旋转的是33节点 p1<-ggtree(df.hclust)+ geom_tiplab(offset = 2)+ xlim(NA,280) #geom_highlight 有可能会重名,有时候你用到的函数可能并不是想实现功能的那个函数,所以比较保险的做法还是加上包的命名然后用两个冒号链接函数 还有一个知识点是如果想要这个树的开口朝下(现在是开口朝又),可以加 ggtree(df.hclust

    2.2K22发布于 2021-01-20
  • 来自专栏微生态与微进化

    比较聚类:我该划分多少个聚类簇?

    MARGIN=2, "total") otu=t(data) otu_dist=vegdist(otu, method="bray", diag=TRUE, upper=TRUE, p=2) #进行聚类分析 hclust =hclust(otu_dist, method="average") #同表型相关 coph=cophenetic(hclust) #计算相关系数并作图 rcor=cor(otu_dist, coph value)是聚类树中两个分支融合处相异性的数值(该节点高度聚类簇的数目),可以绘制融合水平值变化图来确定聚类树的修剪水平,方法如下所示: #总结聚类结果,查看节点数目(height) summary(hclust ) plot(hclust$height, nrow(otu):2, type="S", xlab="h(node height)", ylab="k(number of clusters)", col ="grey", lwd=2, main="Fusion Levels - UPGMA Tree") text(hclust$height, nrow(otu):2, nrow(otu):2, col=

    1.2K20编辑于 2022-05-05
  • 来自专栏生物信息学、python、R、linux

    R中极树状图实现

    1. ape包 library(ape) data('mtcars') new_mtcars <- mtcars[,1:7] plot(as.phylo(hclust(dist(new_mtcars) hc = hclust(dist(new_mtcars), method = 'complete') %>% as.dendrogram %>% set('labels_cex', c(0.8)) # circlize_dendrogram(dend, labels_track_height = NA, dend_track_height = .4) dev.off() 根据数据某一列分组指定颜色: hc = hclust

    1.8K10发布于 2020-06-28
  • 来自专栏生物信息学、python、R、linux

    heatmap由于有太多NA无法聚类原因和解决方法

    distfun(x)) : NA/NaN/Inf in foreign function call (arg 11)” 为什么会有这个错误,要从heatmap函数调用的计算距离的方法dist()和聚类方法hclust dist 这个数据集存在NA,但是仍然可以做出来热图,原因就是因为dist()计算的距离中不存在NA,hclust()就仍然可以聚类。 dist2 这时候去做heatmap,报错,hclust不能聚类: Error in hclustfun(distr) : 外接函数调用时不能有NA/NaN/Inf(arg11) 这个的可以通过修改distfun 参数来解决,从默认的hclust改成我们自己定义的距离,把计算出来NA的距离换掉,比如可以这样: dist_no_na <- function(mat) { edist <- dist(mat)

    4.6K30发布于 2020-04-01
  • 来自专栏作图丫

    简洁分组树状图:colorhcplot

    参数hc是hclust()调用的结果,而fac是定义分组的因子类型,因此树状图的叶片数必须与fac的长度相同。colorhcplot使用自定义调色板,用户可以指定颜色。 例一 data(USArrests) #美国各州的暴力犯罪率数据,是数据框 fix(USArrests) hc <- hclust(dist(USArrests), "ave") #hclust是层次聚类的方法 例二 data(UScitiesD) #UScitiesD为欧洲城市和美国城市之间的距离数据,是dist类型 hcity.D2 <- hclust(UScitiesD, "ward.D2") fac.D2 geneData$exprs #geneData$exprs是geneData中表达数据 fac <- geneData$fac #geneData$fac是样本分组(癌症样本、正常样本) hc <- hclust

    1.6K41编辑于 2022-03-29
  • 来自专栏小明的数据分析笔记本

    R语言ggtree画圆形的树状图展示聚类分析的结果

    colorspace) species_col<-rev(rainbow_hcl(3))[as.numeric(species_labels)] d_iris<-dist(iris2) hc_iris<-hclust 这里写到直接将聚类分析的结果传递给ggtree()就可以,比如 library(ggtree) hc <- hclust(dist(mtcars)) ggtree(hc) 这里我先用了 我之前在3.6.1 install.packages("BiocManager") BiocManager::install("ggtree") 这个时候再运行上面提到的例子就可以直接得到结果 library(ggtree) hc <- hclust 接下来我们用鸢尾花的数据集试一下 鸢尾花数据集是150个样本,用圆形的图看下效果 df<-iris[,1:4] rownames(df)<-paste(iris$Species,1:150,sep="_") hc<-hclust

    4.2K70发布于 2020-11-13
  • 来自专栏数据驱动实践

    R语言 相关系数混合可视化矩阵实现

    2.混合相关性系数可视化 (上下三角矩阵) corrplot(res, type = "upper", order = "hclust", tl.col = "black", tl.srt = 45, title = "文字看不清,可以设置文字为黑色lower.col和大小number.cex", mar = c(2,2,3,2)) corrplot(res, order = "hclust ", addrect = 2, title = "按hclust聚类方式排序", mar = c(2,2,3,2)) #按hclust聚类方式排序,addrect是添加分组矩形,

    1.5K20发布于 2020-07-10
  • 来自专栏PPV课数据科学社区

    【V课堂】R语言十八讲(十三)—聚类模型

    2.系谱聚类:这三个函数都来源于stat软件包,核心函数为hclust(),用来实现系谱聚类算法,其基本格式十分简单,仅含有三个参数: hclust(d, method = “complete”, members 而cutree()函数则可以对hclust()函数的聚类结果进行剪枝,即选择输出指定类别数的系谱聚类结果。 其格式为: cutree(tree,k=NULL,h=NULL)函数rect.hclust()可以在plot()形成的系谱图中将指定类别中的样本分支用方框表示出来,十分有助于直观分析聚类结果。 选择研究变量,将数据标准化,利用hclust建立层次聚类。 (dist(scale(u[,-1])),"complete") # 画树状图 plot(hh,labels=w[,1],cex=0.6) # 自动分成5类 rect.hclust(hh,k=5) ?

    1.5K70发布于 2018-04-23
  • 来自专栏顶刊美图

    使用corrplot包绘制相关性图及美化!

    ')重排序相关矩阵可以使用四种算法对相关矩阵进行重排序,分别命名为 'AOE'、'FPC'、'hclust' 和 'alphabet',详细说明如下:AOE:特征向量的角度顺序。 hclust:层次聚类顺序,以及要使用的聚合方法 hclust.method。 hclust.method 应该是以下之一:ward、ward.D、ward.D2、single、complete、average、mcquitty、median 或 centroid。 如果使用 hclust,corrplot() 可以根据层次聚类的结果在相关矩阵的图形周围绘制矩形。 使用hclust时,corrplot()可以根据层次聚类结果在图的周围绘制矩形:corrplot(M, order = 'hclust', addrect = 2)corrplot(M, method

    1.7K10编辑于 2025-04-08
  • 来自专栏微生态与微进化

    聚类树的合并展示

    :(3*j)]) } } #计算距离矩阵 otu_dist=vegdist(otumean, method="bray", diag=TRUE, upper=TRUE, p=2) #进行聚类分析 hclust =hclust(otu_dist, method="average") #确定最佳聚类簇数目(这里省略,我们选聚类簇数目为3) #聚类结果绘图 layout(matrix(c(1,2,3), 1, 3, byrow=TRUE), widths=c(1, 2, 1)) orhclust=reorder(hclust, otu_dist) library(dendextend) library(RColorBrewer =hclust(otu_dist, method="average") #确定最佳聚类簇数目(这里省略,我们选聚类簇数目为3) #聚类结果绘图 layout(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

    96420编辑于 2022-05-05
  • 来自专栏yw的数据分析

    gplots heatmap.2和ggplot2 geom_tile实现数据聚类和热图plot

    主要步骤 ggplot2 数据处理成矩阵形式,给行名列名 hclust聚类,改变矩阵行列顺序为聚类后的顺序 melt数据,处理成ggplot2能够直接处理的数据结构,并加上列名 ggplot_tile进行画图 mean) data <- as.matrix(wdt[,2:length(wdt),with=F]) #数据矩阵 rownames(data) <- unlist(wdt[,1]) hc<-hclust (dist(data),method = "average") #对行进行聚类 rowInd<-hc$order #将聚类后行的顺序存为rowInd hc<-hclust(dist(t(data)),method colorsChoice(5),breaks = c(1,1.5,2,2.5,3,4),density.info="histogram", hclustfun = function(c)hclust

    5.2K70发布于 2018-04-28
  • 来自专栏全栈程序员必看

    转录组测序火山图_转录组差异基因筛选标准

    查看样本相关性并采用热图展示 4. hclust对样本进行聚类分析 5. 构建原始dds矩阵并保存为Rdata对象 6. 原始dds矩阵标准化并保存 7. 提取差异分析的结果 8. 绘制火山图 9. 0.2366665 0.2990182 1.0000000 0.4533486 treat2 0.0209855 0.0866515 0.4533486 1.0000000 热图展示 4. hclust (t_exprset,2,mad),decreasing = T))[1:500]] # out.dist <- dist(t_exprset,method = 'euclidean') # out.hclust <- hclust(out.dist,method = 'complete') # rect.hclust(out.hclust,k=3) # plot(out.hclust,xlab = "",main

    98510编辑于 2022-09-27
领券