浙江省生物信息学学会“生信数据分析与可视化培训班”实录-Part2

(接上篇)

3.R语言基础

本节由南京大学陈迪俊副教授主讲,着重介绍R语言在生信中进行数据分析和绘制科研图表的强大能力,主要包括:R包的安装与使用,向量、矩阵、数组、列表、数据框的结构与运算规则、线性回归与方差分析实战,以及使用R原生绘图和后续使用Adobe Illustrator(AI)对矢量图的布局与排版等,帮助我们绘制出精美的论文图表。

首先,我们需要对R语言的特性建立认识。课上了解到,R语言是一门统计语言,主要用于数学建模、统计计算、数据处理、可视化等几个方向,R语言天生就不同于其他的编程语言,其封装了各种基础学科的计算函数,我们在R语言编程的过程中只需要调用这些计算函数,就可以构建出面向不同领域、不同业务的、复杂的数学模型。掌握R语言的语法,仅仅是学习R语言的第一步。要学好R语言,需要我们要具备基础学科能力(初等数学、高等数学、线性代数、离散数学、概率统计等),加上一定的业务知识(生物+互联网),辅以基础的IT技术(R语法、R包、数据库、算法等),才真正地学好R语言。R语言的优势包括强大的制图功能、丰富的行业数据分析资源、以及良好的扩展性,通过R包的扩展以胜任复杂的数据分析和绘图任务。

作为R语言初学者,陈迪俊老师带领学员从基础语法学起。R和RStudio的安装在前期课程中已完成。在RStudio中创建一个R工程后,需要首先使用dir.create()或图形化界面配置工作目录,并使用install.packages()安装所需R包,随后即可开始编程。R语言基础语法较为简洁,代码风格较好、可读性较强,对于具有Python基础的开发者来说简单易学,但整体不如Python优雅。

课程介绍了R语言的特殊字符和赋值方法。R语言数据类型丰富,包括数组、逻辑型、字符型、日期型、数值型等;另定义了常用数据结构,包括向量、矩阵、列表、因子、dataframe等。为引入实际数据集,我们需要掌握R语言的数据输入与输出方法。课程介绍了数据获取方式,采用read.csv()、readRDS加载不同类型的数据集文件;采用write.csv()、saveRDS()实现数据导出。以上内容在课程中均通过例子进行演示,学员同步编写代码练习,达到基础语法的快速入门。

4. R语言数据操作与ggplot2入门

本部分陈迪俊老师介绍了如何使用R语言操作原始数据,进而绘制出精美的论文图表。使用dplyr操作数据集,可类比Python的数据操作包pandas进行学习。Base R提供了诸多操作的数据的函数,其中管道的应用最为广泛和简便。管道是一个将前一步的输出作为后一步的输入的数据结构,在诸多编程语言中都有应用。dplyr管道通过“%>%”操作符或“|>”操作符,借助select()、filter()、mutate()、arrange()、group_by()等函数,可以实现数据的连续处理,完成变量的追加、修改、提取、排序、汇总等任务,功能强大。

在数据操作之上,即可对处理过的数据进行图表绘制,R语言基础绘图可类比Python的matplotlib包学习。使用plot()函数,可以轻松根据数据和参数设置,绘制出所需图表。R语言提供了丰富的参数可供选择,只需调整取值即可。

作为R语言中应用最为广泛、功能最为强大的绘图包,ggplot2可以完成绝大部分绘图任务,其中相比plot()函数,ggplot2的特性即引入了图层的概念。使用ggplot2必须包含三个要素,缺少任何一个,图形都是不完整的。这三要素包括事先处理好的数据、数据中的变量与几何元素的映射关系,以及图层的叠加,这三要素的设置体现在ggplot()函数的参数中,缺一不可。使用lab()函数可以添加图表和图例中的标题、副标题;使用不同的配色方案可以提升图形的展示效果,可以借助现成的R包实现。在最后,老师介绍了统计作图的技巧,以及如何绘制出常用的条形图、柱形图、饼图等统计图表。

在短时间的学习过程中,通过类比Python学习,我们可以较为容易地接受R语言的使用方法,并在后续加以运用。借助R语言这一强大工具,计算机背景的生物信息研究人员可大幅提升数据处理与作图的效率。