4

当我从某个目录启动 R 会话时,R 会自动加载相应的工作区(如果存在)。在我完成此工作区的工作后,我可以决定是否要修改(保存)当前工作区。这个逻辑简单明了。

我不明白的是,如果我从某个目录启动 R 然后将工作目录更改为setwd(). 据我了解,与新工作目录对应的工作区不会被“加载”。我仍然可以看到前一个工作目录中的变量和历史记录。为什么?

其次,当我quit()R时,我将与“新”工作目录对应的工作空间图像替换为与“旧”目录对应的工作空间。我是否正确解释了这种行为?这种行为背后的逻辑是什么?我可以从 R 会话切换到另一个工作空间吗?

4

1 回答 1

3

工作区存储在 .RData 文件中,并在您启动 R 时自动从当前工作目录加载。但是工作目录本身(以及setwd()设置它的函数)与工作区无关。您可以通过显式指定任何 .RData 文件来加载任何工作区:

load("c:/project/myfile.RData")

或者

setwd("c:/project/")
load()
于 2015-06-11T05:44:49.317 回答