R语言学习笔记(四)—pheatmap
导语 :在本系列前面的介绍中,小编给大家介绍过用于操作数据框的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语言的学习心得。
往期推送:
往期好文推荐
(点击下方文字即可阅读)
JCR分区Q1论文见刊,高分论文编辑强调时态很重要,详细解读SCI论文各章节时态
免费强大的模板库帮您解决计划、学习、备考、工作、生活多种问题
今日视频推荐
PDF提取器
可提取图像、文字、字体~点开视频即可了解!↑↑↑关注“投必得学术”视频号,更多干货↑↑↑
请大家点击右下角