用R中pheatmap画heatmap

画这个热图的目的是直观地看到一些上调基因的聚类情况,第一次画热图十分生疏,欢迎大家和我交流

我的原始数据是没有重复的实验数据,所以我选了CORNAS和GFOLD两种方法来分析,附上参考文献

CORNAS
GFOLD

这次尝试不需要很严格,所以我只用了GFOLD来筛选linc
这里传送一篇我的GFOLD摸索


总之,我们现在拿到了画图所用的数据,我自己在Excel中整理了一下,不过听说Excel也可以画热图😂
言归正传,假设我们画图数据长这样↓
💥💥💥这里需要注意的是,画图的数据是之前各种方法算出差异的差异基因的rawdata💥💥💥

随便编了一些数据

然后打开RStudio
librarypheatmap
如果没有安装的话需要先安装一下pheatmap

library(pheatmap) 

接下来我们需要处理一下数据,在read进R时,要把第一列和第一行分别作为行名和列名 row.names = 1,header = T

na.strings = 0 加这个的话为0的地方会特别显示,我觉得还不错👀

data <- read.csv("你的路径", header = T, row.names = 1, na.strings = 0)

如果想对数据取log值也可以

data_log <- log(data)

接下来就是使用pheatmap画图,pretty~

pheatmap(data)
最基础的heatmap就画好了

可以对格子高度宽度进行修改

pheatmap(data, 
         cellheight = 10, 
         cellwidth = 30)

调整聚类线的高度

pheatmap(data, 
         cellheight = 10, 
         cellwidth = 30,  
         treeheight_col = 8,
         treeheight_row = 15)

可以cluster_col = T/Fcluster_row = T/F选择横纵聚类与否,有时想让横纵坐标按原来顺序排序的话,就取消那个方向的聚类!

pheatmap(log, 
         cellheight = 10, 
         cellwidth = 30,  
         treeheight_col = 8,
         treeheight_row = 15,
         cluster_col=FALSE)
这样就不会对列聚类,排序方式就是按照1、 2、 3

scale = "row" 对行进行均一化,一般对row均一化

pheatmap(data, 
         cluster_col=FALSE,
         scale = "row")
现在看起来是不是颜色分布就平均一些了

clustering_method =可以设定不同聚类方法,值默认为"complete",还可以是"ward.D", "ward.D2", "single", "complete", "average", "mcquitty", "median","centroid"

pheatmap(data, 
         cellheight = 10, 
         cellwidth = 30,  
         treeheight_col = 8,
         treeheight_row = 15,
         cluster_col=FALSE,
         scale = "row",
         clustering_method = "complete")
clustering_method = "complete"
pheatmap(data, 
         cellheight = 10, 
         cellwidth = 30,  
         treeheight_col = 8,
         treeheight_row = 15,
         cluster_col=FALSE,
         scale = "row",
         clustering_method = "average")
iclustering_method = "average"

angle_col可以旋转调整x轴的标注方向,旋转角度可以等于0,45,90,270,315

我觉得这个很有用,毕竟不能让别人歪着脑袋看x轴对吧

pheatmap(data, 
         angle_col = 0)
调整后的x轴是不是就不需要歪着脖子看了

还有很多参数我这次都没有用到,附参考链接
使用pheatmap包绘制热图
用pheatmap画热图
R语言热力图坐标不按数字排序?
pheatmap的一些参数
还是一些参数

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

相关阅读更多精彩内容

  • 热图可以聚合大量的数据,并可以用一种渐进色来优雅地表现,可以很直观地展现数据的疏密程度或频率高低。 本文利用R语言...
    生信补给站阅读 3,019评论 2 17
  • 假装是前言 学了很久的R,一直也没啥进展,之前一直觉得R不是很容易的东西吗,复制粘贴代码就好了。。emmm,太年轻...
    卖萌哥阅读 16,444评论 10 61
  • TaoYan 简介 本文将绘制静态与交互式热图,需要使用到以下R包和函数:heatmap():用于绘制简单热图的函...
    taoyan阅读 48,080评论 4 129
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,973评论 0 13
  • library(pheatmap) data<- read.table("new 1.txt",header = ...
    Weiyx阅读 743评论 0 0

友情链接更多精彩内容