首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用"ComplexHeatmap“软件包的热图树状图

使用"ComplexHeatmap“软件包的热图树状图
EN

Stack Overflow用户
提问于 2017-07-04 05:07:05
回答 1查看 614关注 0票数 0

我正在使用"ComplexHeatmap“包在一个矩阵中创建一个相关性的热图。我想对热图的树状图使用我自己的聚类,所以我运行以下代码:

代码语言:javascript
复制
library(ComplexHeatmap);
mat = matrix(rnorm(800),80,10);
cor.mat= cor(mat)
dist.mat = (1-cor.mat)/2;
rowdist = dist(as.matrix(dist.mat), method = "euclidean")
rowcluster = hclust(rowdist, method = "ward.D2")
coldist = dist(t(as.matrix(dist.mat)), method = "euclidean")
colcluster = hclust(coldist, method = "ward.D2")
par(mfrow=c(1,2));plot(rowcluster);plot(colcluster);
Heatmap(cor.mat ,cluster_rows=rowcluster, cluster_columns=colcluster)

问题是,我在行和列上得到了不同的集群(不对称),尽管集群对象是相同的。即使我为行和列传递了完全相同的对象,它仍然为行和列显示不同的顺序。如果我只创建树状图,即plot(rowcluster)或plot(colcluster),它们是相同的。

我想要一个对称的热图。知道为什么会这样吗?谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-07-25 14:59:00

使用rowclust=colclust。

不需要转置。

但请注意,您已经有了一个距离矩阵,所以"euclidean“是错误的。您正在计算距离矩阵的距离矩阵!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44893868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档