R 中工作区背后的理念是什么?

What is the philosophy behind the workspaces in R?

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

我不明白的是,如果我从某个目录启动 R,然后按 setwd() 更改工作目录,会发生什么情况。据我了解,新工作目录对应的workspace不会是"loaded"。我仍然可以看到以前工作目录中的变量和历史记录。为什么?

其次,我quit()R时,我将"new"工作目录对应的work-space图片替换为"new"对应的workspace图片20=] 目录。我是否正确解释了行为?这种行为背后的逻辑是什么?我可以从 R 会话切换到另一个工作-space吗?

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

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

setwd("c:/project/")
load()