【问题标题】:Heatmap dendrogram using "ComplexHeatmap" package使用“ComplexHeatmap”包的热图树状图
【发布时间】:2017-12-07 05:05:35
【问题描述】:

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

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) 它们是相同的。

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

【问题讨论】:

    标签: cluster-analysis heatmap dendrogram


    【解决方案1】:

    使用 rowclust=colclust。

    无需转置。

    但请注意,您已经有一个距离矩阵,所以“欧几里得”是错误的。您正在计算距离矩阵的距离矩阵!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-08
      • 1970-01-01
      • 1970-01-01
      • 2016-12-08
      • 1970-01-01
      • 2017-06-20
      • 2018-09-16
      相关资源
      最近更新 更多