科研星球

R语言最基础教程,下载和安装R

1.1 R 的获取和安装

官网下载安装R:
R可以在CRAN(Comprehensive R Archive Network,http://cran.r-project.org)上免费下载。
Linux、Mac OS X和Windows都有相应编译好的二进制版本。

官网下载安装Rstudio:
RStudio是R的集成开发环境,界面更加丰富实用,使用起来更加方便。
Rstudio可以在官网(https://www.rstudio.com/products/rstudio/download/)上免费下载。
PS:必须先安装R,再安装RStudio。

1.2 R的使用

R是一种区分大小写的解释型语言。
R中有多种数据类型,包括向量、矩阵、数据框(与 数据集类似)以及列表(各种对象的集合)。
R中的多数功能是由程序内置函数、用户自编函数和对对象的创建和操作所提供的。对象可以是任何东西(数据、函数、图形、分析结果,等等)。
一些基本函数是默认直接可用的,而其他高级函数则包含于按需加载的程序包中。

1. 简单示例

R语句由函数和赋值构成。R使用<-,而不是传统的=作为赋值符号。
注释由符号#开头。在#之后出现的任何文本都会被R解释器忽略。

例:研究10名婴儿在出生后一年内的月龄和体重的关系


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)                           #求体重均值
[1] 7.06sd(weight)                             #求体重标准差
[1] 2.077498cor(age,weight)                        #求年龄和体重的相关度
[1] 0.9075655plot(age,weight)                       #可视化年龄和体重的关系和趋势,见图1-1
q()

下载.jpeg

图1-1 婴儿体重(千克)和年龄(月)的散点图

2. 获取帮助

R的内置帮助系统提供了当前已安装包中所有函数的细节、参考文献以及使用示例。
例:常用帮助函数 help("foo")?foo来查看函数 foo 的帮助(引号可以省略)。

3. 工作空间

工作空间(workspace)就是当前R的工作环境,它存储着所有用户定义的对象(向量、矩阵、 函数、数据框、列表)。用于管理工作空间的部分标准命令见表1-1。
表1-1 用于管理R工作空间的函数

函数功能
getwd()显示当前的工作目录
setwd("mydirectory")修改当前的工作目录为 mydirectory
ls()列出当前工作空间中的对象
help(options)显示可用选项的说明
options()显示或设置当前选项
history(#)显示最近使用过的#个命令(默认值为 25)
savehistory("myfile")保存命令历史到文件 myfile 中(默认值为.Rhistory)
loadhistory("myfile")载入一个命令历史文件(默认值为.Rhistory)
save.image("myfile")保存工作空间到文件 myfile 中(默认值为.RData)
save(objectlist, file="myfile")保存指定对象到一个文件中
load("myfile")读取一个工作空间到当前会话中(默认值为.RData)
q()退出 R ,将会询问你是否保存工作空间

例:用于管理R工作空间的命令使用


setwd("C:/myprojects/project1")       #当前工作目录被设置为C:/myprojects/project1 
#注意:R将反斜杠( \ )作为一个转义符,我们要写的是/不是\. 
options()                             #当前的选项设置情况将显示出来
options(digits=3)                     #格式化数字为小数点后三位有效数字的格式
x <‐ runif(20)                        #创建了一个包含20个均匀分布随机变量的向量
summary(x)                            #生成了此数据的摘要统计量 
hist(x)                               #生成了此数据直方图 
q()                                   #询问是否退出,y或者n

4. 输入和输出

输入:函数 source(”filename”)
文本输出:函数 sink(”filename”)
图形输出: png(”filename.png”)jpeg(”filename.jpg”)等等
返回到终端: dev.off()

1.3 包

包(package)是R函数、数据、预编译代码以一种定义完善的格式组成的集合。
包可从http://cran.r-project.org/ web/packages下载。
计算机上存储包的目录称为库(library)

  1. 函数.libPaths()能够显示库所在的位置,

  2. 函数library()则可以显示库中有哪些包,

  3. 命令search()可以知道哪些包已加载并可使用。

例:包gclus中提供了创建增强型散点图的函数。

install.packages("gclus")        #安装包update.packages("gclus")         #更新包library(gclus)                   #载入包help(package="gclus")            #输出包的描述和其中的函数名称和数据集名称的列表

R语言编程中的常见错误

  • 使用了错误的大小写。help()、Help()和HELP()是三个不同的函数(只有第一个是正确的)。

  • 忘记使用必要的引号。install.packages("gclus")能够正常执行,然而 install.packages(gclus)将会报错。

  • 在函数调用时忘记使用括号。例如,要使用help()而非help。即使函数无需参数,仍需加上()。

  • 在Windows上,路径名中使用了\。R将反斜杠视为一个转义字符。

  • 使用了一个尚未载入包中的函数。函数order.clusters()包含在包gclus中。如果还没有载入这个包就使用它,将会报错。

1.4 批处理

通常,我们会交互式地使用R:在提示符后输入命令,接着等待该命令的输出结果。
如果要以一种重复的、标准化的、无人值守的方式执行某个R程序,可以在R中编写程序,在批处理模式下执行它。
如何以批处理模式运行R与使用的操作系统有关。
在Linux或Mac OS X系统下,可以在终端窗口中使用如下命令: R CMD BATCH options infile outfile

  1. 其中infile是包含了要执行的R代码所在文件的文件名

  2. outfile是接收输出文件的文件名

  3. options部分则列出了控制执行细节的选项

对于Windows,则需使用:

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

将路径调整为R.exe所在的相应位置和脚本文件所在位置。

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

R中分析的输出结果可轻松保存,并作为进一步分析的输入使用。
例:汽车数据mtcars

#执行一次简单线性回归,通过车身重量(wt)预测每加仑行驶的英里数(mpg)lm(mpg~wt, data=mtcars)#此时结果将显示在屏幕上,不会保存任何信息。lmfit <‐ lm(mpg~wt, data=mtcars)#执行回归,区别是在新建的列表对象lmfit中保存结果
summary(lmfit)              #分析lmfit的结果的统计概要Call:    lm(formula = mpg ~ wt, data = mtcars)    Residuals:            Min      1Q  Median      3Q     Max     -4.5432 -2.3647 -0.1252  1.4096  6.8727     Coefficients:                            Estimate Std. Error t value Pr(>|t|)        (Intercept)  37.2851     1.8776  19.858  < 2e-16 ***    wt           -5.3445     0.5591  -9.559 1.29e-10 ***    ---    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1    Residual standard error: 3.046 on 30 degrees of freedom    Multiple R-squared:  0.7528,  Adjusted R-squared:  0.7446     F-statistic: 91.38 on 1 and 30 DF,  p-value: 1.294e-10
plot(lmfit)                  #生成回归诊断图形,见图1-2
cook<-cooks.distance(lmfit)  #计算和保存lmfit的影响度量统计量,保存在cook中plot(cook)                   #对其绘图,见图1-3
predict(lmfit,mynewdata)     #在新的车身重量数据上对每加仑行驶的英里数进行预测Error in predict.lm(lmfit, mynewdata) : 找不到对象'mynewdata'                #此处报错是因为没有创建新的车身重量数据mynewdata

下载 (1).jpeg

图1-2 回归诊断图形

下载 (2).jpeg   

图1-3 影响度量统计量

1.6 处理大数据

R可以处理GB级到TB级的数据分析问题,需要考虑数据集的大小和要应用的统计方法,用R处理大数据需要专门的手段。
具体可在原书附录F中学习讨论。

1.7 示例实践

例:使用一个新的包,vcd包(一个用于可视化类别数据的包)

help.start()              #打开帮助文档首页
install.packages("vcd")   #安装vcd包
help(package="vcd")       #了解vcd包的内容,列出此包中可用的函数和数据集library(vcd)              #载入这个包
help(Arthritis)           #阅读数据集Arthritis的描述
Arthritis                 #显示数据集Arthritis的内容
example(Arthritis)        #运行数据集Arthritis自带的示例,将输出一幅展示关节炎治疗情况和治 疗结果之间关系的图,见图1-4

640.png

图1-4 关节炎治疗情况和治疗结果之间关系

1.8 小结

介绍了如何获取和安装R,通过简单的示例熟悉R的用户界面,运行R程序,学习了如何从在线免费下载扩展(称为用户贡献包)来增强基本安装的功能。下一章我们将一起学习R中的各种数据类型,以及如何从文本文件、其他程序和数据库管理系统中导入数据。


没有账号?