首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

第六部分 批处理

R语言编程中的常见错误

有一些错误是R的初学者和经验丰富的R程序员都可能常犯的。如果程序出错了,请检查

以下几方面。

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

正确的)。

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

Install.packages(gclulus)将会报错。

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

需加上()。

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

setwd("c:\mydata")会报错。正确的写法是setwd("c:/mydata")或

setwd("c:\\mydata")。

使用了一个尚未载入包中的函数。函数order.clusters()包含在包gclus中。如果还

没有载入这个包就使用它,将会报错

R的报错信息可能是含义模糊的,但如果谨慎遵守了以上要点,就应该可以避免许多错误

1.5 批处理

多数情况下,我们都会交互式地使用R:在提示符后输入命令,接着等待该命令的输出结果。

偶尔,我们可能想要以一种重复的、标准化的、无人值守的方式执行某个R程序。例如,你可能

需要每个月生成一次相同的报告,这时就可以在R中编写程序,在批处理模式下执行它。

如何以批处理模式运行R与使用的操作系统有关。在Linux或Mac OS X系统下,可以在终端

窗口中使用如下命令:

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"

将路径调整为R.exe所在的相应位置和脚本文件所在位置。要进一步了解如何调用R,包括命令行

选项的使用方法,请参考CRAN(http://cran.r-project.org)上的文档“Introduction to R”。

中文版文档名为“R导论”。CRAN上的下载地址为http://cran.r-project.org/doc/contrib/Ding-R-intro_cn.pdf。

——译者注

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

R的一个非常实用的特点是,分析的输出结果可轻松保存,并作为进一步分析的输入使用。

让我们通过一个R中已经预先安装好的数据集作为示例阐明这一点。如果你无法理解这里涉及的

统计知识,也别担心,我们在这里关注的只是一般原理。

首先,利用汽车数据mtcars执行一次简单线性回归,通过车身重量(wt)预测每加仑行驶

的英里数(mpg)。可以通过以下语句实现:

lm(mpg~wt, data=mtcars)

结果将显示在屏幕上,不会保存任何信息。

下一步,执行回归,区别是在一个对象中保存结果:

lmfit

以上赋值语句创建了一个名为lmfit的列表对象,其中包含了分析的大量信息(包括预测值、

残差、回归系数等)。虽然屏幕上没有显示任何输出,但分析结果可在稍后被显示和继续使用。

键入summary(lmfit)将显示分析结果的统计概要,plot(lmfit)将生成回归诊断图形,

而语句cook

图。要在新的车身重量数据上对每加仑行驶的英里数进行预测,不妨使用predict(lmfit,

mynewdata)。

要了解某个函数的返回值,查阅这个函数在线帮助文档中的“Value”部分即可。本例中应

当查阅help(lm)或?lm中的对应部分。这样就可以知道将某个函数的结果赋值到一个对象时,

保存下来的结果具体是什么。

1.7 处理大数据集

程序员经常问我R是否可以处理大数据问题。他们往往需要处理来自互联网、气候学、遗传

学等研究领域的海量数据。由于R在内存中存储对象,往往会受限于可用的内存量。举例来说,

在我服役了5年的2G内存Windows PC上,我可以轻松地处理含有1000万个元素的数据集(100个

变量×100 000个观测)。在一台4G内存的iMac上,我通常可以不费力地处理含有上亿元素的数据

但是也要考虑到两个问题:数据集的大小和要应用的统计方法。R可以处理GB级到TB级的

数据分析问题,但需要专门的手段。大数据集的管理和分析问题留待附录F中讨论。

1.8 示例实践

我们将以一个结合了以上各种命令的示例结束本章。以下是任务描述。

(1) 打开帮助文档首页,并查阅其中的“Introduction to R”。

——————————

这里使用了Cook距离作为度量影响的统计量,详见第8章。——译者注

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181209A0MO1S00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券