什么是工作空间?

工作空间(workspace)就是当前 R 的工作环境,它储存着所有用户定义的对象(objectives)包括了向量、矩阵、函数、数据框、列表等。

处理 R 文件的工作流程

#设置当前的工作目录
setwd("/Users/lichengyu/Desktop/Dataset")
#查看当前全局设置,并且设置当前选项
options()
options(digits=3)
#创建该目录的子目录,再讲工作目录指向这个新目录
dir.create("direction")
setwd("direction")
#创建对象
x <- runif(20)
#保存当前的工作空间的镜像到文件myfile中,默认值为.RData
save.image(“myfile”)
#退出 R
q()
#再次启动 R 后,载入上次储存的工作空间的镜像
load(".RData")
这样的好处是,我可以保证每个子目录的变量不互相干扰,每个目录下都有独立的工作空间,且每次保存了工作空间的镜像之后能够让我从上一次的会话结束的地方重新开始

输入与输出

1.输入

函数source('filename')

利用该可以执行一个脚本文件

如果文件名不包含路径,R 将假设此脚本在当前工作目录中

2.文本输出

函数sink('filename', append=FALSE, split = FALSE)

该函数可以将输出重新定向到 filename 中,也就是将输出结果保存在一个文件之中 。

default 状态下append为FLASE。如果文件未存在,则创建一个新的文件于之保存;已存在文件情况下,则它的内容将被覆盖。
但是调整为append为 TRUE 之后,可以将文本追加到文件后。
参数split 为 TRUE 时则可以同时将输出结果发送到屏幕和输出文件中。
如果仅仅只想在屏幕获得输出结果可直接不加参数调用命令sink()

3.图形输出

形如png('filename.png)

使用 dev.off 可以将输出返回到终端

简单的理解
PDF("mycats.pdf")就是打开PDF设备,(就像你准备画画时打开画板,这样接下来才能绘图或者画画)
dev.off()是关闭当前设备(合上画板)

总结

在输出中,无论是sink() 文本输出,还是 pdf()图形输出等等,都是先在画图前,执行这段代码以达到输出定向的作用,告诉 R 在输出的时候将文本或图片应该放置的位置,并且在最后输出完毕需要dev.off来结束输出的环境