0

绘制前缩放时的热图:

mat_scaled <- scale(t(mat))
pheatmap(t(mat_scaled), show_rownames=F, show_colnames=F,
         border_color=F, color=colorRampPalette(brewer.pal(6,name="PuOr"))(12))

绘图前的热图缩放

pheatmap从 [-2, 6] 开始的比例与在函数内使用比例完全不同

pheatmap(t(mat_scaled), scale="row", show_rownames=F, 
         show_colnames=F, border_color=F, color=colorRampPalette(brewer.pal(6,name="PuOr"))(12))

在 pheatmap 函数内缩放的热图

其中比例从 [-6,6] 设置。
为什么会有这种差异,我如何获得第二个图中表示的矩阵?

4

1 回答 1

2

在第二个图中,您mat_scaled使用 的选项绘制了第二次缩放scale="row"的缩放矩阵的热图pheatmap
这不是比较外部和内部缩放的正确方法。
这是解决方案:

library(gridExtra)
library(pheatmap)
library(RColorBrewer)
cols <- colorRampPalette(brewer.pal(6,name="PuOr"))(12)
brks <- seq(-3,3,length.out=12)  
data(attitude)
mat <- as.matrix(attitude)

# Scale by row
mat_scaled <- t(scale(t(mat)))

p1 <- pheatmap(mat_scaled, show_rownames=F, show_colnames=F, 
         breaks=brks, border_color=F, color=cols)

p2 <- pheatmap(mat, scale="row", show_rownames=F, show_colnames=F, 
         breaks=brks, border_color=F, color=cols)

grid.arrange(grobs=list(p1$gtable, p2$gtable))

在此处输入图像描述

于 2019-09-01T13:40:37.710 回答