第1章 R语言编程与绘图基础

目录

  • 第1章 R语言编程与绘图基础
    • 前言
    • 1.1 学术图表的基本概念
      • 1.1.1 学术图表的基本作用
      • 1.1.2基本类别
      • 1.1.3 学术图表的绘制原则
    • 1.2 你为什么要选择R
    • 1.3 安装

前言

这是我第一次在博客里展示学习中国作者的教材的笔记。我选择这本书的依据是作者同时具有严谨性和易读性,所以该书适合学习者从了解计算机语言逐渐过渡到运用,为创建论文图表、学习数据分析奠定基础。

本书主要介绍如何使用R中的ggplot2包及其拓展包,以及ggraph、circlize和plot3D等包绘制专业图表。本书先介绍了R语言编程基础知识,以及使用dplyr、tidyr、reshape2等包的数据操作方法;再对比了base、lattice和ggplot2等包的图形语法。本书系统性地介绍了使用ggplot2包及其拓展包绘制类别对比型、数据关系型、时间序列型、整体局部型、地理空间型等常见的二维图表的方法,ggraph、 igraph、circlize等包绘制层次、网络关系型图表,以及使用plot3D包绘制三维图表(包括三维散点图、柱形图和曲面图等)的方法。另外,本书也介绍了论文中学术图表的图表配色、规范格式等相关技能与知识。

请跟我一起学习吧!

1.1 学术图表的基本概念

.数据展示图:先根据数据绘制成图表,再将其导出生成图片,主要包括各种点线图、柱形图、饼图等统计图表,一般使用Excel、GraphPadPrism、SigmaPlot、Origin、MATLAB、Python、R等专业绘图软件绘制(Excel并非如大众所说不能导出高分辨率的图片和矢量图)。注意,保存图片时,一定要保存成高分辨率的TIFF格式和EPS矢量格式的图片,因为矢量图片是可以使用图片处理软件进行再编辑的。由数据生成的图表是可重复修改的,因此一定要保存好原始数据,一旦发现图表有任何问题可以马上进行修改。

2.实验拍摄图:使用设备或者仪器拍摄采集的图片,包括显微镜、扫描仪及摄像机等所拍照片。一定要在最刚开始时就拍成高清的(设置成高分辨率),也就是要保证原始图片的高分辨率,接下来处理图片就会比较方便,免得因为图片质量不佳而重复实验。若有必要,则可以将每张图片存储成TIFF和JPG两种格式(以应对部分期刊的特殊要求)。

3.流程示意图:使用简明的线条、基本图形和箭头等绘制论文中的重要的实验流程或步骤,用以说明基本原理或解释文字材料,一般使用PPT、Visio、Illustrator、CorelDRAW、3DMax等软件绘制。

1.1.1 学术图表的基本作用

读者经常通过图表来判断这篇文章是否值得阅读,所以每个图表都应该能不依赖正文而独立存在。
(1)真实、准确、全面地展示数据;
(2)以较小的空间承载较多的信息;
(3)揭示数据的本质、关系、规律。第三点作用尤为重要,Matthew O. Ward也提出,可视化的终极目标是洞悉蕴含在数据中的现象和规律,这包括多重含义:发现、决策、解释、分析、探索和学习。

比如:原始数据是31组x-y的二维数据。仅仅只从数据的角度去观察数据,就很难发现x与y之间的具体关系。将实际的数据分布情况使用二维可视化的方法呈现,如图1-1-3所示,则可以快速地从数据中发现数据内在的模式与规律。

1.1.2基本类别

黑白:数据系列的区分主要体现在数据标记上,可使用不同的填充纹理。
彩色

1.1.3 学术图表的绘制原则

所以,学术图表首先要规范,符合期刊的投稿要求,然后在规范的基础上实现图表的美观和专业。在当前贯彻科技论文规范化、标准化的同时,图表的设计也应规范化、标准化。总而言之,学术图表的制作原则主要是规范、简洁、专业和美观

规范就是指学术图表符合投稿期刊的图表格式和分辨率方面的要求,这是绘制图表的一个基础条件。绘图时满足投稿期刊的图表要求,这样至少能满足期刊编辑的要求,不会立即被退稿、被要求修改图表格式,例如图表的单位、字体、坐标、图例、轴名等。另外,期刊还会要求图表的分辨率和格式,一般要求RGB彩色图片的分辨率为300dpi及以上。

专业就是指图表要能全面地反映数据的相关信息。当我们获得足够的实验数据后,需要重点思考的就是选择哪种图表能更加全面地表达数据信息。比如,同样是多次重复实验获得的数据,带误差线的散点图、带误差线的柱形图、箱形图等图表类型的选择就是我们要重点考虑的问题。

1.2 你为什么要选择R


像Excel、Origin、SigmaPlot、GraphPad Prism这4款软件,就不需要编程,只要点击界面按钮就可以绘制图表。尽管这些工具都非常容易使用,但也存在一些缺憾。只需鼠标操作无疑十分便捷,但随之而来的却是丧失一些灵活性。你可以改变颜色、字体和标题,但仅限于软件所提供的那些元素。这些软件只能由你去适应它的操作规则,让你使用现有的图表,而并不能创造新的图表。

像MATLAB、Python和R这3款软件,则需要编程才能实现图表的绘制。这些软件本身包含很多数据可视化的函数(function)或者包(package),供用户绘图时使用。尤其是在不同的数据集需要重复操作的情况,如果使用界面绘图软件,则可能需要从头到尾将绘图流程重新实现一遍,而相比之下,通过代码来处理数据就会更加容易,因为针对不同的数据集只需稍微改动一下代码就可以解决。如果你充分掌握代码与算法,那也可以自己编写函数设计新颖的图表。

R相较于其他的所有软件,R的优势之一在于,它是专为数据分析而设计的,它是主要用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。R语言有一系列的数据可视化包,包括ggplot2[插图]及ggplot2拓展包、lattice、leaflet、playwith、ggvis、ggmaps。R还提供了部分地图绘制功能,地区数据分析提供了有关地区分析的综合性R工具包列表。另外,用户可以下载《地理统计制图实用指南》——关于如何使用R及其他工具分析空间数据的可免费下载的电子书。

SigmaPlot是一款最佳的学术绘图软件!使用SigmaPlot画出精密的图形是件极容易的事,目前已有超过十万的使用者,特别适合科学家使用。本软件允许用户自行建立任何所需的图形,可插入多条水平轴或垂直轴,指定误差棒(error bar)的方向,让你的图更光彩耀眼,只要用SigmaPlot将图形制作完成即可动态连接给其他软件展示使用,并可输出成EPS、TIFF、JPEG等图形格式,或放置于网站上以供浏览。非常适合网站动态显示图形,使用场合如长时间记录的气象、温度等。

GraphPad Prism是一款集数据分析和作图为一体的数据处理软件,尤其适合生物医学类,可以直接输入原始数据获得高质量的学术图表。它在统计分析上劣于SPSS等统计软件,但是不需要输入程序语言,只需输入原始数据,其操作容易、绘图美观。可与PPT、Word相连接。

1.3 安装

包安装好之后,需要加载才能使用。现在主要有两种函数可供选择:library()或者require(),比如:library(ggplot2)。有时已经加载的包可能需要卸载。这个可以在RStudio中的“Packages”界面取消勾选相应的复选框,或使用detach()函数:detach(“package:ggplot2”)