R 聚类热图-数据的标准化

Python027

R 聚类热图-数据的标准化,第1张

最近一直在学习转录组分析,在绘制差异表达基因热图的时候遇到了个坑?我发现的做出来的热图和别人不一样。如下图所示,图1是我的,图2是别人家的。

怎么解决呢?直接取对数吗?

如果对表达量去一下log10,发现10000变成了4,10变成了1,这样之前离散程度很大的数据就被集中了。

聚类分析中均一化是如何计算的?

表达矩阵每行数据的各个数值减去每行数据的均值,再除以每行数据的标准差。

详细的数据规范化(归一化)、及Z-score标准化可参考教程 https://blog.csdn.net/weixin_38706928/article/details/80329563

关于R环境搭建可参考教程, 【R语言入门】R语言环境搭建 -

绘制热图

通过一些数学函数,将原始值进行映射。该方法包括log、指数、正切等。当变量是正偏态分布的时候,选用log对数。是否取对数可根据自己的需求。

ps:生信小白一枚。内容仅供参考,和谐交流 ,欢迎大佬指导,也欢迎大家一起学习。

scale.data(data)

library(NbClust)

result.data<-NbClust(scale.data,distance="euclidean",min.nc=2,max.nc=4,metheod="average")

barplot(table(nc$Best.n[1,]),xlab="Clusters",ylab="Criteria")