课程准备
1_R语言基础
01 R语言简介
R语言历史
R语言是一款统计软件,R语言也是一门编程语言,R语言也是一个数据分析平台。R是一个免费自由且跨平台通用的统计计算与绘图软件,它有 Windows、Mac、Linux 等版本,均可免费下载使用。R 项目(The R Project for Statistical Computing)最早由新西兰奥克兰大学(Auckland University)的 Robert Gentleman(1959-)和 Ross Ihaka(1954-) 开发,故软件取两人名字的首字母命名为 R 。该项目始于 1993年,2000年发布了首个官方版本 R 1.0.0 ,后期维护由 R 核心团队(R Core Team)负责。截止 2022-06-23,,已发布到 4.2.1版本。凭借其开源、免费、自由等开放式理念,R 迅速获得流行,目前已成为学术研究和商业应用领域最为常用的数据分析软件之一。随着大数据行业的发展,R语言变得越来越流行,R语言发挥了越来越重要的作用。
为什么要学习 R语言
R是个多面手,你做科研过程的数据计算、统计检验、统计建模、数据挖掘、数据可视化它全包了。学了它,不用向以前必须学习统计软件STATA或者SPSS,同时还要学Graphpad、origin等绘图工具。同时R的脚本会记录你的数据处理工作的整个过程,过3年,你的学弟依旧可以拿着你的原始数据,重现你l论文的数据统计与可视化结果。
R能干啥,可能从下面的 R task view看得更清楚
02 R语言的优缺点
R语言的优点
- 开源、免费,具有完整的统计学功能,有大量的扩展包
- 有效的数据处理和保存机制。
- 拥有一整套数组和矩阵的操作运算符。
- 一系列连贯而又完整的数据分析中间工具。
- 图形统计可以对数据直接进行分析和显示,可用于多种图形设备。
- 一种相当完善、简洁和高效的程序设计语言。
- R语言是彻底面向对象的统计编程语言。
- R语言和其它编程语言、数据库之间有很好的接口。
- R语言是自由软件,可以放心大胆地使用,但其功能却不比任何其它同类软件差。
- R语言具有丰富的网上资源
R语言的缺点
- 开源、免费,具有完整的统计学功能,有大量的扩展包
- 学习成本大;
- 不擅长处理非结构数据;
- 计算消耗资源较多;
- R的扩展包太多了,比较混乱,不容易找到适合的扩展包;
- 不擅长多线程处理。
R语言与 Excel对比
- R语言开源免费,Excel收费;
- R语言支持 Linux版本,Excel只支持 windows,macos,ios,Android;
- 能够计算大数据,Excel默认只能处理 100万行数据;
- R语言有更好扩展能力,有很多现成的包;
- R语言有更好的绘图能力,例如可以很方便绘制热图,基因组圈图等复杂图形;
- R语言的 Bioconductor项目可以处理生物数据,例如基因表达数据,单细胞测序等;
- R语言学习成本较大,不如 Excel简单。
是时候放弃excel了
R语言与 Python对比
- R语言具有更强大的统计学功能;
- R语言的 Bioconductor项目可以处理生物数据,例如基因表达数据,单细胞测序等;
- R语言的绘图能力更强,尤其是 ggplot2包;
- python兼容性不好;
- python具有更强大的文本处理能力;
- python资源管理更好,R不擅长多线程计算,更消耗资源
我建议:目前的科研状态,一定要学习 R 或 Python,至少学一种,实际上应该都会。如果你对==生物统计学、生物信息学==更感兴趣,我建议你先学R。如果你对机器学习最感兴趣,特别是像深度学习这样的现代方法,那么应该首先选择 Python。当然如果你有python基础,直接使用python就可,不学R。如果没有,先学R。这两种语言很多的地方是相通的。学会了一个再学另外一个相对简单。真正的数据分析科学家与工程师,都是左手R 右手Python的。看下面的链接
本课程为啥不在使用SPSS?
- 因为不开源,使用的时候写论文写统计方法,有人要问你使用的SPSS的序列号,不好回答。
- 另外在科学图形绘制上,SPSS没有任何优势
- 最新的统计方法都是在目前都是R上出现,最新的SPSS需要调用R插件进行新的统计方法的使用。
03 结构化数据与非结构化数据
- 结构化数据:信息能够用数据或统一的结构加以表示,我们称之为结构化数据,如数字、符号;
- 非结构化数据:信息无法用数字或统一的结构表示,如文本、图像、声音、网页等,我们称之为非结构化数据。
R语言更擅长处理结构化数据,因此,在使用 R之前,尽量确保数据是严格的表格结构。也就是二位的表格,分为行和列。在 R语言中,行称为“观测”,列称为“变量”。
04 数据分析的六个过程
- 数据采集
- 数据存储
- 统计分析
- 数据挖掘
- 数据可视化
- 生成报告
2_R与 Rstudio软件安装
01 R软件安装
R语言支持 windows,macos,linux等多个系统平台,提供图形化界面,下载和安装都不难,可以直接从官网进行下载,当前最新版本为 4.2.1。R语言平均每半年更新一个比较大的版本,中间也会有一些小版本,建议安装最新的版本。可以从 R的官网下载软件安装包,软件最好安装到系统默认目录下。
R官网: https://www.r-project.org/ ,如下图
windows系统:
下载地址:https://mirrors.tuna.tsinghua.edu.cn/CRAN/bin/windows/base/R-4.2.1-win.exe
Mac系统 :
下载地址:https://mirrors.tuna.tsinghua.edu.cn/CRAN/bin/macosx/base/R-4.2.1.pkg
02Rstudio软件安装
当前 R语言的集成开发环境很多,但其中 Rstudio可以说是最优秀的,Rstudio是 R软件的一个集成开发环境,为 R的使用提供了极大的便利,Rstudio本身并不集成 R软件,需要首先安装 R软件,Rstudio会调用 R软件。Rstudio支持 windows,macos,Linux等多个系统平台,并且提供免费的桌面版与服务器版本可供选择,服务器版本可以搭建多用户使用场景,直接通过网络浏览器访问 R。此外,Rstudio公司还开发了大量 R语言的扩展包,操作简单,功能强大,极大扩展了 R语言的功能。到10月份Rstudio将更名为Posit,将R与python的链接更方便
官方网站:https://www.rstudio.com/,如下图
下载地址:
windows:
https://download1.rstudio.org/desktop/windows/RStudio-2022.07.1-554.exe
macos:
https://download1.rstudio.org/desktop/macos/RStudio-2022.07.1-554.dmg
rstudio设置
为了更好地使用 Rstuido软件,需要对软件进行一些设置,主要包括主题背景,字体大小,
字体编码,默认软件源等。
03 解决windows下 Rstudio无法识别中文问题
方法一:创建一个新账户
创建一个新的英文账户,或者修改本地账户为使用 windows账户登录。
方法二:修改缓存目录
Rstudio遇到中文报错,主要原因在于,Rstudio需要一个临时缓存文件,windows系统下这个默认目录在”C:\User\XXXX\AppData\Local\Temp”。其中 XXXX为用户名,如果是中文,则无法识别,所以,我们需要修改 TEMP和 TMP这个目录环境变量。右键此电脑,选择属性,然后点到高级系统设置,选择环境变量
修改 TEMP和 TMP变量,其中不能有中文,如下
3_开始使用 R
01设置工作目录
使用 R语言的第一个过程就是设置工作目录,使用 R语言经常需要读写文件,设置好工作目录可以方便读写文件。需要对不同系统目录的写法有所了解,windows目录结构与 Linux(Mac)目录结构主要差别在两点:第一,Linux(Mac)系统不存在盘符,所有数据路径都是有“/”开始;第二:Linux系统采用正斜线分割目录,windows采用反斜线分割目录。在 R中可以使用正斜线。另外,Rstudio目前对中文支持并不好,目录中最好不要有中文,否则会报错。
1 | windows系统目录结构:C:\Users\xxx\Desktop\ |
设置工作目录
方法一:Crtl+Shift+H快捷键 (windows) ; cmd+Shift+H快捷键(Mac) 或者通过菜单,如下
方法二:使用鼠标,通过文件管理窗口设置工作目录
方法三:使用 R函数
1 | #查看当前目录 |
02创建 Project
创建 Project可以将所有数据放到一个目录下,R的 Project会保存分析过程中全部内容,方便管理以及分享。
03 R软件的运行
R软件有交互式与脚本式运行两种方式,交互式便于进行数据探索,脚本式便于批量化和自动化处理。
脚本方式运行中,创建一个扩展名为.R的文件,例如test.R可以在Rstudio脚本窗口中一条条 运行,也可以一起全部运行。
[在Linux命令行中,可以使用Rscript命令运行脚本文件,或者使用R -f 来运行,当计算量较大,需要较长的运算时,或者可重复性计算等条件下,需要使用无监督的脚本式运行。在使用脚本运行R时,需要保证脚本能够正确执行,通常先使用小数据进行测试,并且运行过程中将结果及时保存为文件,例如绘制出的图片,而不是交互式显示。R脚本也可以提供选项参数,将R脚本转换为一个可执行程序。]
04 函数
R语言函数
学习 R语言的本质就是学习 R函数的过程,因为在 R中,每一步操作都需要使用 R的函数。在 R语言中,每个 R函数都需要后面介绍小括号,这是为了与环境中的变量区分开。比如定义一个名为 data的变量,R中还自带一个 data函数,这样就无法区分,因此,R函数需要接上小括号,例如 data()函数。R中需要使用选项参数,用来调节 R函数的功能。选项和参数之间用等号连接。不同选项后面接不同的参数,例如有的选项接数值参数,有的接字符串,有的接逻辑值。例如下面的案例。
1 | #一条典型的R函数 |
- 其中 plot()为绘图函数,后面必须是小括号;
- x选项为输入 x轴的值,接一个向量;
- y选项为输入 y轴的值,接一个向量;
- col选项为颜色值,接一个字符串;
- pch选项为点的性状,接一个数值向量;
- ann选项为是否显示x轴与y轴的标签,接一个逻辑值;
游戏:测试计算机算力
随机生成十万,百万,千万,亿,十亿个随机数,然后利用 R进行求和计算。
1 | #十万随机数 |
R语言括号
- 括号按照性状可以分为小括号,中括号以及大括号,大括号也叫作花括号。在 R语言中,各种括号实现不同的功能。其中小括号具有重要作用。是函数式编程语言,所有的功能都需要通过函数完成。在 R中,为了区分字符,变量,数据集,函数以及扩展包,所以函数后面必须接小括号。例如 sum三个字符,如果要表示一个字符,就使用双引号,如果表示求和函数,作为 sum(),如果作为一个变量,数据集,直接写 sum即可。如果代表一个 R包,则直接 library加载即可。
- 中括号在 R中也有重要作用,数据索引时要用到。
- 花括号与其他编程语言类似,都表示一个代码块,用在自定义 R函数中。
R语言提示警告以及错误
正确区分软件错误,R语言在运行过程中会输出很多信息,这些信息主要包括三类,分别是:
- 运行状态信息,正常信息,不用担心;
- 警告信息 warnings,不影响软件运行,需要注意;
- 错误信息 Error,软件终止运行,需要检查错误;
05常用快捷键
下面列出 R或者 Rstudio中一些常用快捷键:
alt+-
R语言的赋值使用“<-”,每次需要敲两个字符,非常麻烦,在 Rstudio中可以使用“alt+-”直接生成,非常方便,如果使用右侧 alt键,更加容易。
ctrl+shfit+h
使用 R第一件事情就是设置工作目录,如果不习惯敲 setwd()函数或者不熟悉系统目录结构,可以使用该快捷键直接用鼠标选择。
esc
中断程序,非常有用。
tab
tab自动补齐,可以补齐函数,选项参数等;
ctrl+L
相当于清屏,与 Linux 一致。
上下箭头
历史记录;
ctrl+sfhit+F10
重新启动 R,有些情况下需要重新启动 R,这个时候无需关闭整个 Rstudio,使用该快捷键即可重新启动 R。
ctrl+r
ctrl+r快捷键可以快速调出使用过的历史记录,如果有些命令太长,使用这个快捷键非常方便。
ctrl+向上
也是快速调出历史记录,与 ctrl+r类似。
ctrl++,ctrl+-
调整字体大小。
ctrl+shift+m
如果使用 tidyverse系列包,经常需要使用管道符“%>%”,使用该快捷键可以直接输出管道符。
alt+shift+k
可以快速调出所有快捷键列表。
06自定义R环境
R语言可以通过自定义修改默认行为,例如修改默认提示符,修改默认镜像地址,修改默认加载包目录,默认有效数字位数,启动后自动加载包等。
R每次启动时,会从默认目录下(windows系统一般为我的文档)读取.Rpofile文件,对 R的自定义,就是修改该配置文件。这个默认配置文件类似于 Linux系统家目录下的.bashrc文件。
1 | #通过 file.edit()函数创建文件 |
4_语言包管理
R语言的一大优势就是有各种各样的扩展包,所谓 R扩展包,就是将数据处理的算法通过 R函数来实现,在加上测试数据,说明文档整合在一起,就是 R的扩展包。在使用 R的过程中,肯定需要使用到 R的包,因此,需要掌握 R包的管理,包括包的查找,安装,加载,升级,取消加载,删除,查看帮助文档等等操作。
如何选择合适的 R包
- 1.通过 R TaskView查找需要的软件包,根据大类查找;在Rstudio的help中的Home打开R resource选择CRAN Task Views,网站如下:https://cran.rstudio.com/web/views/
##有关生物信息的的task views取消了 需要看
https://cran.r-hub.io/web/views/Genetics.html
###有关统计学习与教学的包
https://cran.rstudio.com/web/views/TeachingStatistics.html
- 2阅读文献,参考里面使用的 R包。
- 3 bioconductor项目
Bioconductor 是建立在 R语言环境上的,用于生物信息数据的注释、处理、分析及可视化工具包的总集,由一系列 R扩展包组成。很多生物数据都是使用 bioconductor包来分析的。
Bioconductor官网:http://www.bioconductor.org/
R包的管理
由于不用 R包之间存在相互依赖的关系,因此,强烈推荐采用在线安装的方式,这样软件可以自动解决依赖关系问题,节约大量时间。R默认的服务器在国外,为了加快下载速度,需要将 R镜像站点修改为国内镜像站点。
R包默认安装到以下目录
R包的默认安装路径与登录账号是否为管理员有关,如果登录的为管理员账号,则默认安装到 R安装目录下。如果登录的为普通账户,则在每个账号下的**==我的文档==**中。
1 | #windows系统: |
设置镜像
通过网络安装 R包,网络速度影响比较大,因此要选择合适的镜像,一般选择距离较近的镜像。
1 | chooseCRANmirror() |
常用 R镜像站点
- CRAN站点:
- Bioconductor镜像:
- github:
R包管理
可以将每个 R包开成一个手机 App,R包的管理类似于手机应用的管理,包括搜索,下载,安装,打开,卸载等操作。
1 | #安装 vcd包 |
安装 github网站的 R包
1 | # 安装 devtools |
安装 Bioconductor网站的 R包
1 | install.packages("BiocManager") |
检查更新R包,不建议频繁更新,半年一次就好
1 | #安装rvcheck |
查看帮助文档
学习 R语言需要经常查看帮助文档,包括 R包的帮助文档,查看帮助文档可以快速了解一些函数的用法。不过由于开发者不同,因此帮助文档的水平也参差不齐。查看帮助文档,可以使用 help()函数,一般的 R函数都会自带案例代码,可以直接使用 example()函数运行这些代码。此外,一些 R包还提供一种 vignette格式的文档。
1 | #打开帮助页 |
R包迁移
直接拷贝 R包
R包一般都是一个完整文件,只需要将 R包整个文件夹迁移走,一般就可以运行。对 R包进行迁移时,尽量保证 R版本一致。直接将整个 R包目录拷贝到新的目录下即可。首先找到 R包的安装目录,然后将整个目录打包,拷贝到另外一个目录解压缩。
1 | #找到R包的安装目录 |
该方法只是一种方案,绝大部分包是可以的。但是注意不能将 windows系统安装的迁移到Linux下。该方法也不是万无一失,比如 R包需要系统一些配置,缺少了还是无法运行。
获取名字重新安装
获取要迁移的 R包名字列表,在一台设备上使用循环逐个安装。但是该方法无法处理 github上安装的包。
1 | #保存 A设备上的 R包名字列表; |
5_文件操作
一般情况下我们需要分析的数据都是存储在文件中,那么利用 R分析数据的第一步就是将输入读入 R语言。如果分析的数据是记录着纸质载体上,还需要将数据手动录入,然后保存为一个文件。在 R中分析文件一般是文件文件,通常是以逗号分隔的 csv文件,如果数据本身包含逗号,就需要使用制表符 tab分隔的文件。有些情况下还有需要处理其他统计软件生成的文件,例如 Excel生成的 xlsx格式文件等。R可以很方便的读写多种格式文件。
文件类型
1、csv
逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。
1 | name,age |
2、tsv
TSV:tab separated values;即“制表符分隔值”,如:
1 | name age |
Rstudio导入文件
通过 Rstudio导入文件 , 如下:
- data :文件路径
- header : 第一行是否作为表头
- sep :分隔符
- row.names: 哪一列作为行名
- stringsAsFactors: 字符串是否作为因子
- na.strings :空值用什么表示
函数读入文件
在 Rstudio中,可以通过点击鼠标读入文件,在读入文件之前,需要对文件格式和内容有所了解。例如文件是否是一个标准的列表形式,也就是是否为结构化数据。文件存储格式,是二进制还是纯文本,如果是纯文本,文件扩展名是什么?用什么分隔符分割?文件有多少行,多少列? 第一行是否为列名,第一列是否为行名?清楚了这些之后就可以读入文件了。
R提供了大量读入文件的函数,这些函数通常是以 read.*开头,后面接文件扩展,例如 read.csv,read.xlsx,read.spss等。其中最常用的为 read.table。read.table包括以下重要选项参数。
1、data:后面接文件路径,注意文件路径一定要加引号,注意 windows系统文件路径的写法。
2、header:只接逻辑值 TRUE或者 FALSE,代表第一行是否作为表头,默认为 FALSE。如果不设置,R会默认添加 V1,V2等作为列名。
3、sep:分隔符,读入文件最重要的一个选项,如果设置错误,文件格式很乱,通常就是逗号“,”,制表符“\t”或者冒号“:”等。
4、row.names:后面接数字,指定哪一列作为行名,默认是 0,通常可以设置为 1。
5、stringsAsFactors:后面接逻辑值,设置为T,R语言默认会将文件中的字符串自动转换为因子。
6、na.strings:后面接字符串,指定文件中空值的表示方法。
1 | #读入一个文件,存入 x变量 |
无论使用哪个函数读取文件,R中读入的数据都存储为数据框这种数据类型。通常将文件保存为一个变量。读入文件之后,需要验证文件是否读入成功,通常使用 head函数截取文件头部显示出来,判断格式是否正确,在 Rstudio中也可以使用 View()函数将全部内容显示出来。如果格式不正确就需要修改命令重新读取文件;如果没有问题,就可以对数据进行后续的分析了。
1 | #查看数据结构 |
函数写入文件
数据处理结束之后,需要将存储在变量中的结果保存到文件中,R提供了大量写入文件的函数,这些函数通常与 read系列都是对应的,用法也类似使用起来也并不难。
1 | #写入文件 |
- x:要写入文件中的数据集名字。
- File:文件路径和文件名,注意加引号,需要自己给文件命名,注意扩展名最好与分隔符
- 匹配。
- sep:分隔符,如果是 csv文件,sep设置为逗号,制表符分割,则设置为“\t”
- append:接逻辑值,是否追加写入
读写 excel文件
Excel是全球最流行的电子表格程序,即使你可以使用 R语言处理所有的数据分析工作,但是总有一天你不得不处理别人传给你 Excel生成的电子表格需要你帮忙处理。还好 R可以很方便的处理 excel的电子表格。通常处理 Excel表格有两种方法。
方法一:将excel文件另存为 csv或者 tsv
方法二:readr,xlsx,openxlsx等包
R中有大量可以读写 Excel电子表格的包,使用方法与 read.table()函数类似,只需注意Excel的电子表格分为工作簿与工作表,一个工作簿中包含多个工作表(sheet),因此需要指定读取工作簿中那个工作表,可以指定工作表的名字,也可以使用顺序号
1 | #安装 openxlsx包 |
其他 R数据格式
除了常规各种文本表格之外,R还提供了两种文件格式,分别是 RDS与 Rdata格式。RDS可以用来存储单个数据集,Rdata可以存储多个 R数据集。R内置格式的好处是对 R软件支持更好,便于分享,且内置压缩算法,同样的数据内容,文件更小,便于传输。
1 | #数据集iris 数据框"data.frame"结构 |
补充R语言下的文件夹与文件操作
1 |
|
6_数据结构
在使用R语言过程中,每一步中都需要关注R语言的数据结构。数据结构是R语言中最重要的内容,也是最难的一部分,学会了这部分之后,R语言就不难了。很多时候,函数无法运行,都是因为数据结构的问题。在学习R语言数据结构之前需要首先了解下数据的类型。
1数据类型
数据类型主要表示数据代表哪种内容,是字符串还是数值,逻辑值,或者时间日期等。数值可以用于计算,字符串不能用来计算,逻辑值用来判断等。其实这个在excel中我们也见过,Excel中数据类型如下图所示:
R的数值类型主要包括字符、数值、复数、逻辑4类,如下。我们主要用字符、数值和逻辑三类。
R的数值类型
2常用数据结构
R的数据结构主要包括以下几种:向量、,每一种都有固定的用处,学习R语言需要非常熟悉每一种数据结构的特点。
3内置数据集
R 语言的一个好处是内置了大量数据集,一般 R扩展包也包含数据集,这样无需自己准备输入文件,可以很方便的重复案例的内容。启动 R之后,默认已经加载了 datasets包,里面包含了大量数据集,使用 data()函数可以显示所有数据集。直接敲数据集的名字就能够打印出数据集的内容,内置数据集与自己通过文件将数据读入 R中,存储为变量效果上是一样的。
1 | # 显示所有内置数据集 ,来自‘datasets’这个包 |
4 向量
向量:vector,是 R中最重要的一个概念,它是构成其他数据结构的基础。向量其实是用于存储数值型、字符型或逻辑型数据的一维数组。R中的向量与解析几何或者物理学中有数值和方向的量不同,R中的向量是一个集合,即可以是数值的集合也可以是字符串或者逻辑值的集合。其余数据结构都由向量构成。
4.1 创建向量
用函数 c来创建向量。c代表 concatenate连接,也可以理解为收集 collect,或者合并 combine。新手经常犯的错误就是忘了使用 c()函数。
1 | #R内置向量 |
4.2 向量索引
1 | rivers[c(1)] |
4.3 向量计算
1 | x <- runif(10000000,min = 1,max = 100) |
5 矩阵
矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合。向量是一维的,而矩阵是二维的,需要有行和列。矩阵是 R语言中使用较多的一种数据结构,矩阵分为数值矩阵和字符串矩阵,常用的是数据矩阵,基因的表达数据为数值矩阵。矩阵有两大作用,一个是用来计算相关性,另外可以用来绘制热图。
5.1 创建矩阵
1 | state.x77 |
5.2 矩阵索引
矩阵属于二位数据,需要给定行列的。
1 | state.x77 |
5.3 利用矩阵绘制热图
R非常擅长基于矩阵数据绘制热图,基础包中的 heatmap()可以直接绘制热图,gplots 包 heatmap.2()也可以绘制热图,pheatmap包 pheatmap()函数可以绘制更加优雅的热图,ComplexHeatmap包 可以绘制复杂的热图。
1 | example("heatmap") |
利用 pheatmap绘制热图
1 | #install.packages("pheatmap") |
6 数据框
数据框是一种表格式的数据结构,属于一种二维表,分为行和列。数据框旨在模拟数据集,与其他统计软件例如 SAS或者 SPSS中的数据集的概念一致。数据集通常是由数据构成的一个矩形数组,行表示观测,列表示变量。不同的行业对于数据集的行和列叫法不同。在一个数据框中,每一行的元素个数相同,每一列元素个数也相同,每一列的数据类型一致,都为一个向量,每一行内容还是一个数据框。数据框是 R中使用最广泛的一种数据格式。
6.1 创建数据框
1 | mtcars |
6.2 数据框索引
- 中括号
- 名称
- dollar符
- 逻辑值
1 | euro[1:3] |
6.3利用 R实现 vlookup 案例
1 | #Excel函数:=VLOOKUP($A2,Sheet1!$A$1:$I$201,COLUMN(Sheet1!A2),FALSE) |
7 缺失数据
缺失信息问题在数据科学中非常常见。在大规模数据采集过程中,几乎不可能每次都得到完整的数据,那么该如何处理缺失数据呢?首先我们要清楚为何会出现缺失数据,一种可能是机器断电,设备故障导致某个测量值发生了丢失。或者测量根本没有发生,例如在做调查问卷时,有些问题没有回答,或者有些问题是无效的回答等,这些都算作缺失值。对于缺失信息,R中提供了一些专门的处理方法。
在 R中,NA代表缺失值,NA是不可用,not available的简称,用来存储缺失信息。这里缺失值 NA表示 没有,但注意没有并不一定就是 0,NA是不知道是多少,也能是 0,也可能是任何值,缺失值和值为零是完全不同的。
1 | x <- c(1:10,NA) |
8 列表
列表就是一些对象的有序集合。列表中可以存储若干向量、矩阵、数据框,甚至其他列表的组合。
1 | state.center |
9 因子
所有的数据集合可以分为三类,连续型,名义型和有序型。连续型例如1 2 3 4 5 8 9 10,名义型如sample1 sample2 sample3 ,而有序型 good better best;周一,周二,周三……等。在R中名义型变量和有序性变量称为因子,factor。这些分类变量的可能值称为一个水平level,由这些水平值构成的向量就称为因子。因子主要用于计算频数,可以用来分组。可以通过factor()函数中的labels选项对因子的值进行批量修改。
1 | state.division |