R语言
R语言学习笔记——入门篇:第一章-R语言介绍
文章目录
一、R语言简介
1.1、R语言的应用方向
R语言的主要应用方向:统计分析(如统计检验)和数学建模、数据可视化以及其他(如数据收集与清洗、网页等交互式应用开发等)。
其中数据分析是对数据的整理归纳,操作之前你知道最终指向同一种结果;
数据挖掘则是对大数据挖掘有用的信息,操作之前你不知道最终可以得到什么信息,最后根据自己对数据的理解,给出合理的解释,所以同一批数据不同的人来做,可能会得到不同的结果;
数据可视化则是将整理出来的数据,以一定的图表形式展现给他人,以清晰明了的看到你想表达的结果。
1.2、R语言的特点
- 1、有效的数据处理和保存机制。
- 2、拥有一整套数组和矩阵的操作运算符。
- 3、一系列连贯而又完整的数据分析中间工具。
- 4、图形统计可以对数据直接进行分析和显示,可用于多种图形设备。
- 5、一种相当完善、简洁和高效的程序设计语言。
- 6、R语言是彻底面向对象的统计编程语言。
- 7、R语言和其它编程语言、数据库之间有很好的接口。
- 8、R语言是自由软件,可以放心大胆地使用,但其功能却不比任何其它同类软件差。
- 9、R语言具有丰富的网上资源。
二、R软件的安装
2.1、Windows/Mac
1、登录 官网。
2、根据自己的电脑选择不同的版本号(这里以Windows为例)。
3、左键单击base。
4、左键单击Download,就会自动下载好安装包,之后根据安装包的提示一直点击“下一步”即可。
5、这里就是R语言的工作页面了。
2.2、Linux/Unix
相较于Windows(/Mac)版本来说,Linux版本的安装会显得有些复杂,上面的Download里面是不同系统的操作说明文档,下面的tar.gz后缀文件才是安装文件。
由于操作有些麻烦,这边就不做过多赘述,直接在Linux中运行下面这个R安装脚本就可以直接安装成功了。
R安装脚本
安装完成后直接在命令行输入R就可以开启R软件了。
2.3、RStudio的安装
原生的R语言软件的GUI界面比较的简陋,只有一个命令行窗口,且每次创建图片都会跳出一个新的窗口,比较的繁琐,我们可以安装RStudio,来更方便的操作R(注意RStudio只是R的一个集成开发软件,只有辅助功能里面没有R的本体,所以需要先安装R本体才能使用RStudio)
这里是: 下载地址
根据不同的操作系统来选择不同的安装包。
下载完之后打开RStudio之后分为了四个页面,每个页面有不同的功能分区。
可以在”Tool“—”Global Options“调整一些基础设置,就比如说可以在Reference中调整RStudio的外观,字体格式,大小等。
三、R语言的基本操作
3.1、基础设置
-
设置语言
- Sys.setenv(LANGUAGE=“en”)
中文模式下容易报一些错误,所以在开始的时候将语言设置为英文,减少错误来源。
- Sys.setenv(LANGUAGE=“en”)
-
设置字符串格式
- options(stringsAsFactors = FALSE)
首先,要明确String与Factor的区别。
String是字符串,一种读出/写入的数据类型
Factor是因子,用于给一行记录做“分类标记”,
比如人的性别factors可以设置为“男”、“女”,
对于Factor类型属性,R语言可以自动统计数据的factor水平(level),比如,男/女等。
stringsAsFactors = F意味着,“在读入数据时,遇到字符串之后,不将其转换为factors,仍然保留为字符串格式”。
当然在读入数据框之后,仍然有机会可以对数据框的列进行factors转换的操作。
- options(stringsAsFactors = FALSE)
-
设置工作目录
- setwd(dir = “”)
这是所有输入和输出的默认位置,包括读取与写入文件,保存工作镜像等等,所以操作R的第一步需要设置工作目录。
在R中由于所有的变量,常量,图形都可以被作为对象,对其命名后调用,为了防止与函数混淆,函数后面都需要加上括号来区分,例如退出R语言的函数:q ( )。
在R中用 getwd( ) 来获取当前所属位置,类似于Linux中的pwd,setwd( ) 来设置工作目录。以下两种写法都是可以的。
- setwd(dir = “”)
3.2、基础操作
- 查看当前目录下文件
- list.files( ) or dir( )
由于RStudio需要占据整个页面,想查看目录下文件需要来回切换,所以可以直接借用命令来查看,类似linux中的ls
- list.files( ) or dir( )
- 查看变量
- ls( )
R语言中也有ls的函数,只不过它的作用不是用来查看目录,而是查看变量。
- ls( )
ls() #展示所有变量
str(a) #展示变量a的值
ls.str() #展示所有变量和它们的值
ls(all.names=TURE) #展示隐藏变量
- 删除变量
- rm( )
rm(a) #删除变量a
rm(b,c) #删除变量b,c
rm(list=ls()) #清空全局变量
- 查看历史
- history( )
- 清空控制台
- 快捷键Ctrl+l
- 保存工作镜像
- save.image( )
- 退出
- q( )
四、R包
4.1、简介
R作为一款统计数据的工具,它具有大量的扩展包(5000+),覆盖多个学科,从金融到社科,从环境到生物,根据自己的需求来下载扩展包,丰富R的功能。
在 官网中的Task Views中有各种学科分类
4.2、R包的安装
4.2.1、在线安装
R包的安装一般分为在线安装和源码安装,推荐使用在线安装,可以连带着依赖包一起安装下来,使用下面代码就可以实现在线安装。
- install.packages( )
- 首次在()内加入自己需要的R包名即可。首次空运行时,会提示选择合适的镜像站点,选择完后下次空运行该函数时,就会将所有包都列出来。
- 在函数中键入包名一定要加上引号,只要是键入字符串都要加上引号,否则就会被R认为是对象,去从全局变量中寻找。
- 在镜像站点崩溃的时候就需要切换镜像站点。
- update.packages( )
- 更新包
- 更新包
4.2.2、源码安装
在无法进行联网等环境,或者在服务器上为了安全等就需要用到源码安装了。
前面说过推荐在线安装的原因有一点就是可以安装依赖包,所以在线安装时需要我们手动去寻找安装好目的包的依赖包。
在R官网上下载需要的压缩包,在目录下创建一个lib文件夹来作为库存放后续添加的压缩包,利用 R CMD INSTALL --library=/home/R/lib/ 包名.tar.gz 命令安装好包,由于不是将包安装在了默认的库文件目录下,需要在环境变量中添加路径,或者修改R.profile中默认的库路径,利用export R_LIBS=/home/R。
R CMD INSTALL --library=/home/R/lib/ ABC.tar.gz
#在/home/R路径下面创建了一个lib文件夹用来充当库,安装一个叫ABC的包
export R_LIBS=/home/R
# 写入环境变量
4.3、R包的使用
4.3.1、基础操作
- 查看库
.libPaths() #查看库所在的位置
library() #查看当前库里面的包
- 载入包
library(xxx) #载入xxx包,这里就不需要加“”区分对象与字符串,我的认为是library( )函数本身就是面向包而非对象的,所以这里不做区分。
-
R软件自带的包
- base:包含了R的基础功能
- datasets:存放R内置的数据集
- utils:R语言的工具函数
- grDevices:基于base和graphics的图形绘制设备包
- graphics:基于base的图形绘制与页面交互函数包
- stats:存放了统计相关的函数包
- methods:R对象定义的一般方法和类,增加一些编程工具
- splines,stats4,tcltk。
-
RStudio中会自动显示函数的相关信息。
-
查看已经加载的包
search( )
- 查看包内函数
ls("package:包名")
- 查看包内的数据集
data(package="包名")
- 移除包 ( 对应library( ) )
detach("package:包名")
- 删除包 ( 对应install.packages( ) )
remove.packages("包名")
4.3.2、批量处理(≠批处理)
由于R语言没有备份操作,所以当你更换设备时,之前下载的R包就都需要重新下载,这里提供一种思路,来面对这种情况。
installed.packages() #展示下载的包
Rpackages <- installed.packages()[,1] #将第一列的幸喜(包名)提取到Rpackages对象中
save(Rpackages,file = "Rpackages.Rdata") #保存为Rpackages.Rdata
for (i in Rpackages) install.packages(i) #for循环读出包名后安装
五、获取帮助
前面提到了R语言中含有大量的包,每个包下又含有大量的函数,这使得学习使用R包比学习R还要困难,学会使用每一个函数是不现实的也没有必要性,R语言中对每个函数都有详细的帮助文档,只需要在使用函数前查询帮助文档就可以进行操作。
- 查看所有包的信息
help.start()
- 查看特定包的信息
help(package=包名)
- 查看包的详细信息(不是所有的包都有)
vignette("包名")
- 本地文档查找相关包信息(支持模糊搜索)
help.search("包名/模糊信息")
??包名
- 网络文档查找相关信息(本地搜索不到或者文档过于陈旧时使用)
RSiteSearch(“包名/模糊信息”)
- 根据模糊信息查找所有信息
apropos("模糊信息") #查找所有信息
apropos("模糊信息",mod="function") #只查找函数
- 查看函数信息
help(函数名)
?函数名
- 查看函数参数
args(函数名)
- 查看案例
example("函数名") #就是将每个函数帮助文档中的example编译运行一下
- 查看图例
demo()
- 只搜索R相关的搜索引擎:Rseek
六、函数总结
6.1、帮助类函数
函数 | 功能 |
---|---|
help.start( ) | 打开帮助文档首页 |
help(“a”)或?a | 产看函数a的帮助(引号可省) |
help.search(“a”)或??a | 以a为关键词搜索本地帮助文档 |
example(“a”) | 展示函数a的示例(引号可省) |
RStieSearch(“a”) | 以a为关键词搜索在线文档和邮件列表存档 |
apropos(“a”, mode=“function”) | 列出文档中关于a的所有可用函数 |
data( ) | 列出加载包中所有可用示例数据集 |
vignette( ) | 列出当前安装的所有可用的vignette文档 |
vignetts(“a”) | 以a为主题列出指定的vignette文档 |
6.2、管理R工作空间的函数
函数 | 功能 |
---|---|
getwd( ) | 显示当前工作目录 |
setwd(“mydirectory”) | 将当前工作目录设置为mydirectory |
ls( ) | 列出当前工作空间内的对象 |
rm( objectlist) | 移除一个或多个对象 |
help(options) | 显示可用选项的说明 |
options | 显示或设置当前选项 |
history(n) | 显示最近使用过的n个命令,默认为25个 |
savehistory(“myfile”) | 保存命令历史到myfile中,默认为.Rhistory |
loadhistory(“myfile”) | 载入一个命令历史文件,默认为.Rhistory |
save.image(“mylife”) | 保存工作空间到文件myfile中,默认为.RData |
save(objectlist,file=“myfile”) | 保存指定对象到一个文件中 |
load(“mylife”) | 读取一个工作空间到当前会话中,默认为.RData |
q( ) | 退出R |
6.3、保存图形输出的函数
函数 | 功能 |
---|---|
bmp(“filename.bmp”) | BMP文件 |
jpeg(“filename.jpg”) | JPEG文件 |
pdf(“filename.pdf”) | PDF文件 |
png(“filename.png”) | PNG文件 |
postscript(“filename.ps”) | PostScript文件 |
svg(“filename.svg”) | SVG文件 |
win.metafile(“filename.wmf”) | Windows图元文件 |
结语
对于数据挖掘,希望保持初心。