1.3 包
包(package)是R函数、数据、预编译代码以一种定义完善的格式组成的集合。
包可从http://cran.r-project.org/ web/packages下载。
计算机上存储包的目录称为库(library)。
函数.libPaths()能够显示库所在的位置,
函数library()则可以显示库中有哪些包,
命令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
其中infile是包含了要执行的R代码所在文件的文件名
outfile是接收输出文件的文件名
options部分则列出了控制执行细节的选项
对于Windows,则需使用:
"C:Program FilesRR-3.1.0inR.exe"CMD BATCH?--vanilla--slave"c:my projectsmyscript.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-2 回归诊断图形
???
图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
图1-4 关节炎治疗情况和治疗结果之间关系
1.8 小结
本章简要介绍了如何获取和安装R,通过简单的示例熟悉R的用户界面,运行R程序,学习了如何从在线免费下载扩展(称为用户贡献包)来增强基本安装的功能。下一章我们将一起学习R中的各种数据类型,以及如何从文本文件、其他程序和数据库管理系统中导入数据。