R工作区,即.R文件

5

如何在新会话中启动一个新的.R文件以便在该会话中创建新对象?

3个回答

6

工作区是 .RData 文件,而不是 .R 文件。.R 文件是源文件,即包含代码的文本文件。

这有点棘手。如果你保存了工作区,则 R 会在当前工作目录中保存两个文件:一个带有对象的 .RData 文件和一个记录命令历史的 .RHistory 文件。在早期版本的 R 中,这些文件保存在 R 目录本身中。对于我的版本 2.11.1,它使用桌面。

如果你启动 R 并且出现“[先前保存的工作区已恢复]”的提示,则它从默认的工作目录加载文件“.RData”和“.RHistory”。你可以通过以下命令找到默认工作目录:

getwd()

如果不是桌面电脑或类似设备,那么你可以使用。
dir()

查看文件夹里面的内容。但是对我来说这个方法行不通,因为我只有一个名为“desktop.ini”的文件(谢谢你,该死的Windows)。

现在有两个选项:手动重命名工作区或使用以下命令:

save.image(file="filename.RData")

在退出前保存工作区。或者,您可以在文件Rprofile.site中设置这些选项。这是一个文本文件,包含R在启动时运行的代码。该文件位于R目录的子目录/ etc中。您可以在文件底部添加类似以下内容的内容:

fn <- paste("Wspace",Sys.Date(),sep="")
nfiles <- length(grep(paste(fn,".*.RData",sep=""),dir()))
fn <- paste(fn,"_",nfiles+1,".RData",sep="")
options(save.image.defaults=list(file=fn))

注意:如果你点击消息框上的“是”保存工作区,则此功能不会起作用。你必须使用命令来完成。

save.image()

在关闭 R 会话之前,请点击“是”,这样它仍会将工作区保存为“.RData”,因此您需要再次重命名它。


R会加载我使用过的最后一个 .RData 文件。看起来默认的问题“是否要保存工作空间”会将 .RData 保存到默认目录。但如果我只想保存刚刚创建的对象,当我回答“是”的时候它会将它们添加到 .RData 文件中。 - Georgette
确实,没错。我还没有找到任何方法来改变那个。所以只需说“不”,并使用“save.image()”或save(object1,object2,...)来保存您想要的内容。要摆脱被加载的已保存.RData文件,只需在启动会话时执行getwd(),然后您就知道需要删除哪个文件了。 - Joris Meys

4

我相信你可以使用save.image()保存当前的工作空间,它会默认命名为“.RData”。你可以使用load()简单地加载一个工作空间。

如果你正在加载一个已经存在的工作空间,但你不想这样做,可以重命名或删除当前工作目录中的.RData文件。

如果你想要不同的项目有不同的工作空间,最简单的方法是创建多个目录。


4

会话、对象和控制文件.R之间没有连接。简而言之:不需要。

您可以尝试执行Introduction to R - A Sample Session末尾的示例,以加深理解。 在您选择的环境中启动R并逐个执行命令即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接