《R语言实战·第二版》学习笔记:第一章——R语言介绍
Posted 医学生之学习生信
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《R语言实战·第二版》学习笔记:第一章——R语言介绍相关的知识,希望对你有一定的参考价值。
以下是正文:
本章介绍了R语言吸引学生、研究者、统计学家及数据分析师的一些优点,(例如:许多商业统计软件价格不菲,而R是免费的;它提供了各式各样的数据分析技术,并且拥有顶尖水准的制图功能;R的功能可以被整合进包括C++、Java、Python、php、Pentaho、SAS和SPSS等多种语言编写的应用程序。)从程序的安装出发,探索R的基本界面,并且访问大量现成可用的数据和帮助文档。
(1)R的获取和安装
步骤:先安装R,再安装Rstudio,因为R只是一个清水坊,家徒四壁,而Rstudio 则有着各种使用功能、完善并且流畅的操作空间。
第一步:R可以在CRAN(Comprehensive R Archive Network,http://cran.r-project.org)上免费下载。Linux、Mac OS X和Windows都有相应编译好的二进制版本。
第二步:Rstudio可在官网https://rstudio.com/products/rstudio/download/ 上面选择免费的版本下载。
(2)R的使用
R语句由函数和赋值构成。R使用 <- ,而不是传统的 = 作为赋值符号。例如以下语句:
a <- 3 #创建了一个名为a 的向量,a的值为3
x <- rnorm #创建了一个名为x的向量,它包含5个来自标准正态分布的随机偏差。
注意:R允许使用=为对象赋值,但是这样写的R程序并不多,因为它不是标准语法。一些情况下,用等号赋值会出现问题,R程序员可能会因此取笑你。你还可以反转赋值方向。例如,rnorm(5) -> x与上面的语句等价。重申一下,使用等号赋值的做法并不常见,在本书中不推荐使用。
注释由符号#开头。在#之后出现的任何文本都会被R解释器忽略。
(3)新手上路
一个R会话示例(婴儿月龄与体重的变化关系,数据为丛书作者虚构):
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) #这10名婴儿的平均体重
sd(weight) #体重的标准差
cor(age,weight) #计算月龄跟体重的相关性
plot(age,weight) #绘画婴儿月龄跟体重的散点图
(4)获取帮助
在R里面要学会使用获取帮助来查看某个陌生函数的功能介绍,可以使用help("函数名称"),或?+函数名称、??+函数名称的方法。
help.start() #打开帮助文档首页
help("dplyr") #查看函数 dplyr 的帮助(引号可以省略)
help.search("dplyr") #以 dplyr 为关键词搜索本地帮助文档
RSiteSearch("foo") #以 foo 为关键词搜索在线文档和邮件列表存档
RSiteSearch("dplyr") #以 dplyr 为关键词搜索在线文档和邮件列表存档
apropos("foo",mode = "function") #列出名称中含有 foo 的所有可用函数
data() #列出当前已加载包中所含的所有可用示例数据集
vignette() #列出当前已安装包中所有可用的 vignette 文档
(5)管理R工作空间
使用函数getwd()来查看当前的工作目录,或使用函数setwd()设定当前的工作目录。如果需要读入一个不在当前工作目录下的文件,则需在调用语句中写明完整的路径。记得使用引号闭合这些目录名和文件名。
getwd() #获取当前的工作目录
setwd("F:/R语言基础/R_basic learning") #设定当前的工作目录
setwd("F:/R语言基础/R_basic learning/R_basic learning")
#还有一个更为直观的设定当前工作目录的方法:在R的任务栏中选择“Session”→Set Working Directory→自定义选择需要的选项
注意:函数setwd()不会自动创建一个不存在的目录。如果必要的话,可以使用函数dir.create()来创建新目录,然后使用setwd()将工作目录指向这个新目录。
例如:
dir.create("C:/Users/Administrator/Desktop/R_basic learning") #创建一个在桌面的文件夹
setwd("C:/Users/Administrator/Desktop/R_basic learning") #把当前工作目录设定在该文件夹中
savehistory("myfile") #保存命令历史到文件myfile中(默认值为.Rhistory)
loadhistory("myfile") #载入一个命令历史文件(默认值为.Rhistory)
save.image("myfile") #保存工作空间到文件myfile中(默认值为.RData)
(6)输入和输出
输入函数:source(“filename”),可在当前会话中执行一个脚本。如果文件名中不包含路径,R将假设此脚本在当前工作目录中。
输出函数:sink(“filename”),默认情况下,如果文件已经存在,则它的内容将被覆盖。使用参数append=TRUE可以将文本追加到文件后,而不是覆盖它。
图形输出:
jpeg("filename.jpeg")
dev.off()
(7)包
包是R函数、数据、预编译代码以一种定义完善的格式组成的集合。
包的使用流程:下载安装包→加载包→使用它的功能。
举个“gclus”包的下载和使用栗子:
install.packages("gclus") #下载"gclus"包
update.packages("gclus") #更新"gclus"包
library("gclus") #加载"gclus"包
search() #查看哪些包已经加载并可以使用
(8)将输出用为输入
在R里面,数据分析输出的结果可轻松保存,并作为进一步分析的输入使用。接下来使用一个R中已经预先安装好的数据集作为示例阐明这一点。
首先,利用汽车数据mtcars执行一次简单线性回归,通过车身重量(wt)预测每加仑行驶的英里数(mpg)。
lm(mpg~wt, data=mtcars) #结果将输出在屏幕上
lmfit <- lm(mpg~wt, data=mtcars) #这一步是执行回归,用一个对象(lmfit)保存结果
以上赋值语句创建了一个名为lmfit的列表对象,其中包含了分析的大量信息(包括预测值、残差、回归系数等)。虽然屏幕上没有显示任何输出,但分析结果可在稍后被显示和继续使用。接下来:
summary(lmfit) #显示分析结果的统计概要
plot(lmfit) #生成回归诊断图形
cook<-cooks.distance(lmfit) #计算和保存影响度量统计量
plot(cook) #绘图
predict(lmfit, mynewdata) #在新的车身重量数据上对每加仑行驶的英里数进行预测,使用predict(lmfit, mynewdata)
help(lm) #查看函数lm()的介绍及用法
(9)章末综合示例
help.start() #打开帮助文档首页,并查阅其中的“Introduction to R”
install.packages("vcd") #安装vcd包(一个用于可视化类别数据的包,你将在第11章中使用)
help(package ="vcd") #列出此包中可用的函数和数据集
library("vcd") #载入“vcd”包
help("Arthritis") #阅读数据集“Arthritis”的描述
Arthritis #显示数据集Arthritis的内容
example(Arthritis) #运行数据集Arthritis自带的示例
q() #退出
图1-2 数据集Arthritis自带图(展示关节炎治疗情况和治疗结果之间关系)
(10)个人实战
help.start()
install.packages("vcd")
help(package ="vcd")
library("vcd")
help("OvaryCancer") #阅读"vcd"包内数据集"OvaryCancer"的描述
OvaryCancer #显示数据集"OvaryCancer"的内容
example(OvaryCancer) #运行该数据集自带的示例
savehistory("shizhan")
loadhistory("shizhan")
save.image("shizhan")
rm(list = ls())
q()
编辑:邓敬舵
校审:梁晓杰
相关阅读:
以上是关于《R语言实战·第二版》学习笔记:第一章——R语言介绍的主要内容,如果未能解决你的问题,请参考以下文章