R语言

[R语言]Chapter1:认识R

2019-11-11  本文已影响0人  巩翔宇Ibrahimovic

写在前面
受师兄指点@徐洲更hoptop,通过教别人学习的方式来让自己学会R。特记录自己学习R语言的过程,本次学习以《R语言实战第二版》为主,浓缩干货,如有纰漏或不足之处,请不吝赐教。

正文

1.3 R的使用
R能区分大小写,在命令提示符(<)后输入命令并执行,或者一次性执行在脚本里写的一组命令。
推荐使用 <- 而不是 = 来进行赋值。
注释由#开头,#后的东西都会被忽略。
1.3.1 新手上路
linux下启动R,敲入R并回车,mac和windows都是双击图标。
通过一个代码实例来认识R

#使用函数c()以向量形式输入数据
age <- c(1,3,5,2,11,9,3,9,12,3) 
weight <- c(4.4,5.3,7.2,5.2,8.5,7.3,6.0,10.4,10.2,6.1)
mean(weight) #求均值
sd(weight) #求标准差
cor(age,weight) #求相关度
plot(age,weight) #做点图
q() #退出

若想大致了解R能够做出何种图形,在命令行中直接运行demo()即可。
1.3.2 获取帮助
R中的帮助函数

help.start() #打开帮助文档首页
help("foo")或?foo #查看函数foo的帮助
help.search("foo")或??foo #以foo为关键词搜索本地帮助文档
example("foo") # 函数foo的使用范例
RSiteSearch("foo") # 以foo为关键词搜索在线文档和邮件列表存档
apropos("foo",mode = "function") #列出名称中含有foo的所有可用函数
data() #列出当前已加载包中所含的所有可用示例数据集
vignette() #列出当前已安装包中所有可用的vignette文档
vignette("foo") #为主题foo显示指定的vignette文档

1.3.3 工作空间
使用上下方向键查看已输入命令的历史记录。
读入一个不在当前工作目录下的文件,需要在调用语句中写明完整的路径,记得使用引号闭合这些目录名和文件名。

**用于管理R工作空间的函数**
getwd() #显示当前的工作目录
setwd("mydirectory") #修改当前的工作目录为mydirectory
ls() #列出当前工作空间中的对象
rm(objectlist) # 移除一个或多个对象
rm(list=ls()) #移除当前所有对象
help("options") ## 显示可用选项的说明
options() #显示或设置当前选项
history(#) #显示最近使用过的#个命令,默认是25
savehistory("myfile") #保存命令历史到文件myfile中,默认是.Rhistory
loadhistory("myfile") #载入一个命令历史文件
save.image("myfile") #保存工作空间到文件myfile中
save(objectlist,file = "myfile") #保存指定对象到一个文件中
范例:
setwd("C:/myprojects/project1") #设置工作目录
options() #当前的选项设置情况将显示出来
options(digits = 3) #数字被格式化,显示具有小数点后三位有效数字的格式
x <- runif(20) #创建包含20个均匀分布随机变量的向量
summary(x) #生成该数据的摘要统计量
hist(x) #生成该数据的直方图
q()

注意,setwd()命令的路径中使用了正斜杠,而R将反斜杠(\)作为一个转义符。
1.3.4 输入和输出
1.输入
函数source("filename")可在当前会话中执行一个脚本。如果文件名中不包含路径,R将假设此脚本在当前工作目录中。
2.文本输出
函数sink("filename")将输出重定向到文件filename中。
3.图形输出

bmp("filename.bmp") #输出为BMP文件
jpeg("filename.jpeg") #输出为JPEG文件
pdf("filename.pdf") #输出为PDF文件
png("filename.png") #输出为PNG文件

1.4 包
1.4.1 什么是包
包是R函数、数据、预编译代码以一种定义完善的格式组成的集合。计算机上存储包的目录称为库(library)。函数.libPaths()能够显示库所在的位置,函数library()则可以显示库中有哪些包。
1.4.2 包的安装

install.packages() #安装一个包
update.packages() #可以更新已经安装的包
installed.packages() #列出安装的包,以及它们的版本号、依赖关系等信息
search()#列出当前已加载的包

1.4.3 包的载入
包的安装是指从某个CRAN镜像站点下载它并将其放入库中的过程。
library() 载入R包,在一个会话中,包只需载入一次
1.4.4 包的使用方法
help(package="package_name") #输出某个包的简短描述以及包中的函数名称和数据集名称的列表
1.5 批处理
如何以批处理模式运行R与使用的操作系统有关。
在Linux或Mac系统下,在终端窗口中使用如下命令:

R CMD BATCH options infile outfile

其中infile是包含了要执行的R代码所在文件的文件名,outfile是接收输出文件的文件名,options部分则列出了控制执行细节的选项。依照惯例,infile的扩展名是.R,outfile的扩展名为.Rout。
在windows下,需使用:

"C:\Program Files\R\R-3.1.0\bin\R.exe" CMD BATCH --vanilla --slave "c:\my projects\myscript.R"

1.6 将输出用为输入:结果的重用

lmfit <- lm(mpg~wt,data = mtcars) #一次简单的线性回归,通过车身重量(wt)来预测每加仑行驶的英里数(mpg)
summary(lmfit) #显示分析结果的统计概要
plot(lmfit) #生成回归诊断图形
cook <- cooks.distance(lmfit) #计算和保存影响度量统计量
plot(cook) #对其绘图

1.7 处理大数据集
R可以处理GB级到TB级的数据分析问题,但需要专门的手段。

1.8 示例实践

help.start() #打开帮助文档首页
install.packages("vcd") #安装vcd包,用于可视化类别数据的包
help(package="vcd") #列出此包中可用的函数和数据集
library(vcd) #载入包
help("Arthritis") #阅读对其的描述
Arthritis #显示数据集Arthritis的内容
example("Arthritis") #运行数据集Arthritis自带的示例
q() #退出
上一篇 下一篇

猜你喜欢

热点阅读