如何在 pheatmap 中翻转层次聚类节点
How to flip hierarchical clustering nodes in pheatmap
我有以下代码:
pheatmap::pheatmap(mtcars, clustering_method = "ward.D2")
生成如下图。
我想做的是:
- 将
mpg
和qsec
节点移动到wt
之后。
- 将
disp
和 hp
节点移到最左边。
这样做有效吗?如果可以,我该如何实现?
更新
遵循下面的 Marco Sandri 建议,并加入一点点
周。我想出了这段代码来完成这项工作:
phtmap <- pheatmap::pheatmap(mtcars)
col_dend <- phtmap[[2]]
col_dend <- dendextend::rotate(col_dend, order = c("hp", "disp", "vs", "am", "cyl", "drat", "gear", "carb","wt", "mpg","qsec") )
pheatmap(mtcars, cluster_cols=as.hclust(col_dend))
也许这就是您要找的。
library(pheatmap)
library(seriation)
library(dendextend)
phtmap <- pheatmap(mtcars)
col_dend <- phtmap[[2]]
col_dend <- rotate(col_dend, order = rev(names(mtcars)[get_order(col_dend)]))
# The pheatmap with the same clustering of heatmaply
pheatmap(mtcars, cluster_cols=as.hclust(col_dend))
我有以下代码:
pheatmap::pheatmap(mtcars, clustering_method = "ward.D2")
生成如下图。
我想做的是:
- 将
mpg
和qsec
节点移动到wt
之后。 - 将
disp
和hp
节点移到最左边。
这样做有效吗?如果可以,我该如何实现?
更新
遵循下面的 Marco Sandri 建议,并加入一点点 周。我想出了这段代码来完成这项工作:
phtmap <- pheatmap::pheatmap(mtcars)
col_dend <- phtmap[[2]]
col_dend <- dendextend::rotate(col_dend, order = c("hp", "disp", "vs", "am", "cyl", "drat", "gear", "carb","wt", "mpg","qsec") )
pheatmap(mtcars, cluster_cols=as.hclust(col_dend))
也许这就是您要找的。
library(pheatmap)
library(seriation)
library(dendextend)
phtmap <- pheatmap(mtcars)
col_dend <- phtmap[[2]]
col_dend <- rotate(col_dend, order = rev(names(mtcars)[get_order(col_dend)]))
# The pheatmap with the same clustering of heatmaply
pheatmap(mtcars, cluster_cols=as.hclust(col_dend))