美文网首页
用R中pheatmap画heatmap

用R中pheatmap画heatmap

作者: 没有猫但是有猫饼 | 来源:发表于2020-04-01 20:59 被阅读0次

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

    我的原始数据是没有重复的实验数据,所以我选了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的一些参数
    还是一些参数

    相关文章

      网友评论

          本文标题:用R中pheatmap画heatmap

          本文链接:https://www.haomeiwen.com/subject/rngauhtx.html