10.8 定制环境

用户可以有好几种办法定制使用环境。可以修改位置初始化文件,并且每个目录都可以有它特有的一个初始化文件。还有就是利用函数 .First.Last

位置初始化文件的路径可以通过环境变量 R_PROFILE 设置。如果该变量没有设置,默认是 R 安装目录下面的子目录 etc 中的 Rprofile.site。这个文件包括你每次执行 R 时一些自动运行的命令。第二个定制文件是 .Rprofile1,它可以放在任何目录下面。 如果 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是西班牙语的再见

results matching ""

    No results matching ""