R 语言实战 (2nd ed)(7):R 语言介绍 1.3.4

阅读数:15 2019 年 11 月 13 日 15:30

R语言实战(2nd ed)(7):R语言介绍 1.3.4

内容简介
本书注重实用性,是一本全面而细致的 R 指南,高度概括了该软件和它的强大功能,展示了使用的统计示例,且对于难以用传统方法处理的凌乱、不完整和非正态的数据给出了优雅的处理方法。作者不仅仅探讨统计分析,还阐述了大量探索和展示数据的图形功能。新版做了大量更新和修正,新增了近 200 页内容,介绍数据挖掘、预测性分析和编程。
本书适合数据分析人员及 R 用户学习参考。

(输入和输出)

启动 R 后将默认开始一个交互式的会话,从键盘接受输入并从屏幕进行输出。不过你也可以处理写在一个脚本文件(一个包含了 R 语句的文件)中的命令集并直接将结果输出到多类目标中。

1. 输入

函数source(“filename”)可在当前会话中执行一个脚本。如果文件名中不包含路径,R 将假设此脚本在当前工作目录中。举例来说,source("myscript.R")将执行包含在文件 myscript.R 中的 R 语句集合。依照惯例,脚本文件以.R 作为扩展名,不过这并不是必需的。

2. 文本输出

函数sink(“filename”)将输出重定向到文件 filename 中。默认情况下,如果文件已经存在,则它的内容将被覆盖。使用参数append=TRUE可以将文本追加到文件后,而不是覆盖它。参数split=TRUE可将输出同时发送到屏幕和输出文件中。不加参数调用命令sink()将仅向屏幕返回输出结果。

3. 图形输出

虽然sink()可以重定向文本输出,但它对图形输出没有影响。要重定向图形输出,使用表 1-4 中列出的函数即可。最后使用dev.off()将输出返回到终端。

表 1-4 用于保存图形输出的函数

函数 输出
bmp(“filename.bmp”) BMP 文件
jpeg(“filename.jpg”) JPEG 文件
pdf(“filename.pdf”) PDF 文件
png(“filename.png”) PNG 文件
postscript(“filename.ps”) PostScript 文件
svg(“filename.svg”) SVG 文件
win.metafile(“filename.wmf”) Windows 图元文件

让我们通过一个示例来了解整个流程。假设我们有包含 R 代码的三个脚本文件 script1.R、script2.R 和 script3.R。执行语句:

复制代码
source("script1.R")

将会在当前会话中执行 script1.R 中的 R 代码,结果将出现在屏幕上。

如果执行语句:

复制代码
sink("myoutput", append=TRUE, split=TRUE)
pdf("mygraphs.pdf")
source("script2.R")

文件 script2.R 中的 R 代码将执行,结果也将显示在屏幕上。除此之外,文本输出将被追加到文件 myoutput 中,图形输出将保存到文件 mygraphs.pdf 中。

最后,如果我们执行语句:

复制代码
sink()
dev.off()
source("script3.R")

文件 script3.R 中的 R 代码将执行,结果将显示在屏幕上。这一次,没有文本或图形输出保存到文件中。整个流程大致如图 1-6 所示。

R语言实战(2nd ed)(7):R语言介绍 1.3.4

图 1-6 使用函数source()进行输入并使用函数sink()进行输出

R 对输入来源和输出走向的处理相当灵活,可控性很强。在 1.5 节中,我们将学习如何在批处理模式下运行 R 程序。

评论

发布