查看原文
其他

R语言学习笔记(四)—pheatmap

从零开始 投必得学术 2022-05-07


导语 :在本系列前面的介绍中,小编给大家介绍过用于操作数据框的R包dplyr(R语言学习笔记(二)),本期给大家介绍一个用于画热图的包pheatmap。


01

生成热图文件



在生物学领域,热图最常用的功能就是展示不同基因差异表达的情况,首先我们用上一期介绍的一些R基本函数模拟一个基因表达矩阵(R语言学习笔记(三))。


> # Create test file> htest <- matrix(rnorm(200), 20, 10) #生成20*10的随机矩阵> htest[1:10, 1:3] <- htest[1:10, 1:3] - 3 #手动给数据“分块” > htest[11:20, 4:10] <- htest[11:20, 4:10] + 4> colnames(htest) <- paste("Sample", 1:10, sep = "")> rownames(htest) <- paste("Gene", 1:20, sep = "")> View(htest)



这样就生成了一个20个基因在10个样品中的表达矩阵,并且通过手动操作,使右下角的数据明显比左上角大,形成一个大致的分层,后续我们就用这个文件画热图。


02

heatmap



R中有一个基本的heatmap()函数,可用来绘制热图,我们不妨尝试一下:


> heatmap(htest)



不出意料的难看,通常R中自带的函数功能都相对简单,也很少带有美化效果。所以学好基本函数的前提下,成为一个“调包侠”应该是R语言进阶的第一步。下面看一下pheatmap包的效果吧。


03

pheatmap



我们先不调试参数,直接用pheatmap画一个最简单的热图:


> #install.packages(pheatmap) #安装pheatmap> library(pheatmap) #加载pheatmap> pheatmap(htest)



没有对比就没有伤害,这个热图相比上面那张图颜值提升了好几个档次,并且能很清楚的看到右上角和左下角分成了两种不同的颜色,跟我们预设的数据是一致的。


下面说一下pheatmap中用的比较多的参数。


(1)scale


scale参数设置是否归一化处理,默认不进行归一化。设置scale = "row"是对行进行归一化,设置scale = "column"是对列进行归一化。


>pheatmap(htest, scale = "row")



(2)cluster_row/ cluster_col


这两个参数设置是否按行/列进行聚类,比如我们不需要聚类:


> pheatmap(htest, cluster_rows = F, cluster_cols = F)




(3)fontsize_row/ fontsize_col/angel_col


前两个参数设置文字大小,后面一个参数设置纵向文字角度。


> pheatmap(htest, fontsize_row = 12, fontsize_col = 18, angle_col = 45)



(4)添加注释


#生成注释文件> annotation_row <- data.frame(   Genetype = sample(c("A", "B"), size = 20, replace = TRUE))> annotation_col <- data.frame(   Gender = sample(c(rep("male", 5), rep("female", 5))))> rownames(annotation_row) <- rownames(htest)> rownames(annotation_col) <- colnames(htest)#作图>pheatmap(htest,  annotation_row = annotation_row,  annotation_col = annotation_col,  fontsize_row = 18, fontsize_col = 18, angle_col = 45)



04

导出作图文件并作图



上面的热图基本已经达到文章发表的水平了,但有时候图片需要与其他的图片放在一起组图,小编自己的经验是将图片导出成PDF,方法是右下角文件栏【Export】→【Save as PDF】,调整合适的高度和宽度,最后导出PDF文件。



导出的PDF文件可以在AI或者PDF编辑器中进行编辑,修改字体类型和大小等等。关于AI和PDF编辑器的使用方法请参考小编之前的推送【科研论文作图系列-从PPT到AI (一)】和(【两款PDF编辑器带你玩转PDF文件】。最后,欢迎大家进入投必得R语言与统计交流群,与小编一起交流R语言的学习心得。


往期推送:

R语言学习笔记(一)

R语言学习笔记(一)

R语言学习笔记(三)

科研论文作图系列-从PPT到AI (一)

两款PDF编辑器带你玩转PDF文件




往期好文推荐


(点击下方文字即可阅读)

拼命读完了研究生,我毕业后的年薪是多少?

JCR分区Q1论文见刊,高分论文编辑强调时态很重要,详细解读SCI论文各章节时态

免费强大的模板库帮您解决计划、学习、备考、工作、生活多种问题



今日视频推荐



PDF提取器
可提取图像、文字、字体~点开视频即可了解!↑↑↑关注“投必得学术”视频号,更多干货↑↑↑


点击“阅读原文”了解投必得业务类型~
请大家点击右下角投必得分享给更多有需要的人

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存