2010-08-31 61 views

回答

3

我相信你可以使用save.image()保存你当前的工作空间,它将默认名称为“.RData”。您只需使用load()即可加载工作区。

如果您正在加载预先存在的工作区并且不希望发生这种情况,请重命名或删除当前工作目录中的.RData文件。

如果您想让不同的工程使用不同的工作空间,最简单的方法就是创建多个目录。

4

会话,对象和控制文件之间没有连接.R。总之:不需要。

您可能喜欢在Introduction to R - A Sample Session的末尾遍历实例。 在首选环境中启动R,并逐个执行命令。

6

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

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

如果你启动你的R并且它说:“[以前保存的工作区恢复]”,那么它从默认的工作目录加载文件“.RData”和“.RHistory”。你发现,由该命令

getwd() 

如果它不是一个桌面左右,那么你可以使用

dir() 

,看看里面有什么。对我来说,这是行不通的,因为我只有文件“desktop.ini”(谢谢你,血腥的Windoze)。

现在有2个选项:您手动重命名工作区,或者使用命令:

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)) 

当心。您必须在关闭R会话之前使用命令

save.image() 

。如果点击“是”,它仍然会将工作区保存为“.RData”,因此您必须重新命名。

+0

我的意思是.RData的扩展 – Georgette 2010-09-02 17:23:36

+0

R加载我使用的最后一个.RData。这似乎是默认问题“你想保存工作区”将.RData保存到默认目录。但是,如果我只想保存我刚刚制作的对象,就会将它们添加到。RData文件,当我对保存请求说'是'时。 – Georgette 2010-09-03 01:42:52

+0

的确,这是正确的。我没有发现黑客没有得到改变。所以,只要说“不”,并使用“save.image()”或保存(object1,object2,...)来保存你想要的东西。为了摆脱已加载的保存的.RData文件,只需在启动会话时执行getwd(),并知道要删除文件的位置。 – 2010-09-03 19:26:08