Chapter 2 第二章 R语言简介

学习目标

  • 📌 了解R语言特点

  • 📌 安装R、R-Studio、R软件包

  • 📌 新建R语言编程文档

  • 📌 掌握R语言基本数据结构及简单操作

2.1 R语言发展简史

详见教程。

2.2 R、R-Studio、R软件包的安装简介

2.2.1 R语言的安装

  首先,我们可以在线来下载R语言软件(https://cloud.r-project.org/)。根据你的电脑操作系统,选择相应的版本。

R下载

R下载

2.2.2 R-Studio安装

  R语言可以在计算机上通过终端命令直接运行,也有自己的图形界面。但是RStudio 是最适用于初学者的R 编程的集成开发环境(integrated development environment,IDE)。使用者可以在线下载并安装( http://www.rstudio.com/download )。其中免费版已经可以满足数据科学的需求了。

R语言可以在计算机上通过终端命令直接运行,也有自己的图形界面。但是RStudio 是最适用于初学者的R 编程的集成开发环境(integrated development environment,IDE)。使用者可以从 http://www.rstudio.com/download 下载并安装。其中免费版已经可以满足数据科学的需求了。

  它提供了许多功能,如代码编辑器、调试器、数据可视化和包管理器等,使得R语言的学习和使用变得更加方便和高效。R-Studio被广泛用于数据科学、统计分析、机器学习和数据可视化等领域。

R-studio初始化

R-studio初始化

  首先,初始界面有3个区域。在图中左侧区域是输入和运行代码区域,右侧上部的区域目前选中的是environment也就是环境变量的显示窗口。当前并没有输入任何代码,所以环境变量的窗口是空白。在右侧下部,对窗口有5个不同的按键:文件(File),制图(Plots),程序包(Packages),帮助(Help),视图(Viewer)。目前选中的是作图窗口。

2.2.3 R package软件包安装

  R package是一种用于R语言的扩展工具,它可以包含数据、代码、文档等,用于实现特定的数据分析、可视化或模型建立任务。在R社区中,R语言允许用户自由地创建、发布和分享自己的package。这种开放性不仅促进了R语言的发展,也为用户提供了更多的选择和灵活性。这些软件包不仅可以提高数据分析的效率,还可以促进不同用户之间的知识交流和共享。

  软件包安装可以使用代码,也可以使用R-Studio的界面。使用命令安装软件包: install.packages(“tidyverse”)。在使用软件包的功能时,我们需要先装载软件包,比如library(tidyverse)。

使用R-studio界面中,Package功能也能安装软件包。

R-studio中R软件包安装

R-studio中R软件包安装

不同软件包使用快捷指南:https://github.com/JuqiangJ/cheatsheets

2.3 R语言编程文档

  大部分时候,我们需要对数据进行一系列的处理,因此相应的命名需要记录在一个文档中方便重复使用与修改。在R语言中,我们常用的编程文档有两种: R脚本(script)和R-markdown。

2.3.1 R脚本文档

新建脚本

新建脚本

  当我们新建了一个脚本文件,就会出现一个窗口。原先的代码运行窗口,变换到了左边的下部,而在左边上部出现了一个新的窗口。这就是脚本书写窗口。在这里书写的脚本,我们可以通过选中来运行。

R-studio脚本视图

R-studio脚本视图

2.3.2 R-Markdown文档

  R-markdown是一种可复制性更好的数据分析记录报告文件格式,符合可读性统计编程(literate statistical programming)的理念。它可以将数据分析的代码,统计建模的细节和解释说明的文字以及可视化的图片统一集成在一个文件当中。这个文件可以输出网页格式、PDF或者文档。

R-Markdown新建   在R-studio中,选择文件—新建文件,选择R-markdown之后,会弹出对话框。在对话框中,你需要选择文件输出的类型。比如,这里我们选择网页格式。同时你可以填写相应的文件标题和文件作者名称。完成以后点击OK就可以了。

R-Markdown文件

R-Markdown文件

  之后,在R-studio里面会出现一个新的文件即R-markdown文件。这个文件最开头,从第二行到第五行,是一些相关属性设置。比如,文件名称、作者、时间和输出格式。

R-Markdown生成报告文件   在图中第八行到第十行之间,有一个代码块区域。在这里书写代码,完成之后,可以选中,进行运行。也可以点击右面绿色小三角,运行整个代码块。

R-Markdown报告文件

R-Markdown报告文件

  在每个代码块开头的{r setup, include = FALSE}中,可以控制是否运行代码,是否输出结果,是否显示代码,是否显示代码运行中的提示(Messages)和警告(Warnings)。比如上述代码中,“setup”是这个代码块的名称,include = FALSE说明该代码会运行但是代码本身不会显示,相应的运行结果、图片、提示和警告也不会显示。 代码显示设置

2.3.3 建立R-project

  在数据处理中,我们通常会将输入和输出的数据放在一个文件夹里,每次导入数据的时候,我们需要输入绝对或者相对的路径。但是当你的合作者在另外一台电脑上打开你的文件夹时,这个绝对或者相对的路径就会发生错乱。因此,为了保持编程环境的相对稳定,我们可以为自己的数据处理项目建立一个project文件夹。当我们有一个project文件夹以后,R-studio里面就只需要输入相对路径。特别值得注意的是,无论是在云端同步,还是通过移动硬盘U盘等复制,这个文件夹是一个独立的编程环境。   首先,我们点击文件新建项目。然后,我们可以选择新建项目或者使用已有的文件夹。如果选择新建项目,那么需要给项目文件夹一个名称,并设置文件夹的位置。   新建项目以后,在所指定的路径,就会发现一个新的文件夹。在该文件夹内部,会有一个R-project文件。以后每次开始项目时,双击这个文件就会自动打开一个项目编程环境,里面所有路径都可以是相对路径。

第一步新建New project

第一步新建New project

第二步选择文件夹

第二步选择文件夹

第三步选择项目类型

第三步选择项目类型

第四步输入项目名称

第四步输入项目名称

在项目文件夹内,需要对不同数据和文件进行管理。我们可以参考Cookiecutter Data Science 的建议,在项目文件下设置子文件夹。

文件夹结构

文件夹结构

├── README.md <- 介绍项目整体及注意事项 | ├── data │ ├── external <- 元数据比如被试信息 │ ├── interim <- 中间数据,比如初步处理的数据 │ ├── processed <- 最终数据,用于建模和汇报 │ └── raw <- 原始数据比如音频和标注文件 │ ├── docs <- 文档介绍 │ ├── references <- 必要的参考文献 │ ├── reports <- 最后的报告以及R-markdown │ ├── src <- 项目使用的所有代码

2.4 R语言的数据结构

  在R中,基本的数据结构有向量(vector),数组(array),列表(list),数据框(data frame)和因子(factor)。

详见教程介绍

2.5 课堂任务

任务2.1 创建不同类型的向量

  值得注意的是,如果不同类型的数据被放入同一个向量,数据类型会发生改变。数值型数据会强制改变为字符型数据或布尔型数据。

  除了单个输入之外,我们可以借助R语言的一些函数,批量生成向量中的元素。

  R语言中的一些基本函数,可以对包含不同类型数据的向量进行操作。

任务2.4 矩阵的简单操作

  在这个示例中,我们首先创建了一个从1到6的向量 data,然后我们创建了一个3行2列的矩阵 matrix1,并将这个向量的数据按列存入矩阵。输出的结果会是一个3行2列的矩阵,元素值按列从1到6。

任务2.7 文件系统批量操作练习

第一步:直接创建文件夹和文件结构

第二步:批量获取文件路径

第三步:批量复制文件

第四步:批量移动/重命名文件

第五步:批量删除文件