这可能是直截了当的,但我仍然感到沮丧,所以我希望能快速解释一下。我广泛地寻找了一个合适的答案,但似乎找不到一个。
既然我的.Rprofile包含了每次打开Rstudio (通常是R)时需要运行的所有命令,为什么我可以在.Rprofile中定义.First()函数?.First()的真正目的是什么?
举个例子,假设我的.Rprofile有以下几行:
.First <- function(){
library(xts)
cat("\nWelcome at", date(), "\n")
}上面的代码与简单地在我的.Rprofile中添加以下代码有何不同:
library(xts)
cat("\nWelcome at", date(), "\n") 我都试过了,它们确实有相同的结果。
谢谢!
发布于 2013-07-05 18:06:12
主要区别在于,.First是在加载默认工作区图像.Rdata (如果存在)之后执行的,因此可以访问该工作区中的对象。
例如,让我们创建一个将在启动时自动加载的对象:
x <- 2
save.image()退出R,并在默认工作目录中创建一个.RProfile,其中包含:
y <- try(print(x))
print(y)
.First <- function()
{
print(x)
invisible(NULL)
}第一次尝试打印x应该会失败,但第二次应该会成功。
https://stackoverflow.com/questions/17484869
复制相似问题