10.8 定制环境
用户可以有好几种办法定制使用环境。可以修改位置初始化文件,并且每个目录都可以有它特有的一个初始化文件。还有就是利用函数 .First
和 .Last
。
位置初始化文件的路径可以通过环境变量 R_PROFILE
设置。如果该变量没有设置,默认是 R 安装目录下面的子目录 etc
中的 Rprofile.site
。这个文件包括你每次执行 R 时一些自动运行的命令。第二个定制文件是 .Rprofile
1,它可以放在任何目录下面。 如果 R 在该目录下面被调用,这个文件就会被载入。这个文件允许用户定制它们的工作空间,允许在不同的工作目录下设置不同的起始命令。如果在起始目录中没有 .Rprofile
,R 会在用户主目录2下面搜索 .Rprofile 文件并且调用它(如果它存在的话)。
在这两个文件或者 .RData
中任何叫 .First()
的函数都有特定的状态。它会在 R 对话开始时自动执行并且初始化环境。下面例子中的定义允许将提示符改为 $
,以及设置其他有用的东西。这些设置同样会在其他会话中起作用。
因此,这些文件的执行顺序是 Rprofile.site
,.Rprofile
,.RData
然后是 .First()
。 后面文件中定义会屏蔽掉前面文件中的定义。
> .First <- function() {
options(prompt="$ ", continue="+\t") # $ 是提示符
options(digits=5, length=999) # 定制数值和输出格式
x11() # 定制图形环境
par(pch = "+") # 定制数据点的标识符
source(file.path(Sys.getenv("HOME"), "R", "mystuff.R"))
# 个人编写的函数
library(MASS) # 导入包
}
类似的是,如果定义了函数 .Last()
,它(常常)会在对话结束时执行。一个例子3就是
> .Last <- function() {
graphics.off() # 一个小的安全措施
cat(paste(date(),"\nAdios\n")) # 该吃午饭了?
}
1. 在 UNIX 系统中,这种文件不可见。 ↩
2. 译者注:如 Linux 系统中的 ~/目录。 ↩
3. 补注:例子中打印的Adios是西班牙语的再见 ↩