如何在R中禁用“保存工作区图像?”提示?

当我退出交互式R shell时,每次都会显示一个恼人的提示:

 >
 >
保存工作区图像?  [y / n / c]是什么意思

我总是回答“不”,因为如果我想保存我的工作,我会尝试退出之前这样做。

如何摆脱提示?


注意:请参阅?save.image

您可以在启动R时传递--no-save命令行参数,也可以覆盖q函数:

 utils::assignInNamespace( "q", function(save = "no", status = 0, runLast = TRUE) { .Internal(quit(save, status, runLast)) }, "base" ) 

把上面的代码放在你的.Rprofile中,这样它就会在每个会话启动时运行。

还没find最简单的Linux解决scheme:)

在Ubuntu上添加以下行到你的~/.bashrc

 alias R='R --no-save' 

每次用R启动R控制台时,都会传递--no-save选项。

您可以使用Ctrl + D转义“ 保存工作区图像? ”提示。

因此,如果您在交互式R中执行了Ctrl + D两次,那么您将退出R而不保存您的工作空间。

(在Linux和OS X上testing)

如果您使用的是Rgui,右键单击您使用的图标来启动R,然后单击“属性”,并在启动R.的命令中添加–no-save。

(来自http://tolstoy.newcastle.edu.au/R/help/05/03/1115.html

如果您使用的编辑器不是Rgui,则在启动R时必须将-no-save传递给R命令行

您可以轻松地将一个qq()函数添加到.Rprofile文件

  qq <- function(save="no") { q(save=save)} 

我以为保存选项是可用的选项,但显然约书亚的答案是最好的。

如何通过inputq('no')来避免提示

获得mreq和BondedDust提供的最好策略:

默认情况下,通过将以下行添加到〜/ .bashrc来保存:

 alias R='R --no-save' 

但给自己一个简单的方法来保存退出,通过添加到〜/ .Rprofile:

 qs <- function(save="yes") { q(save=save)} 

所以现在q()退出而不保存(或提示),但qs()将保存并退出(也没有提示)

覆盖保存 quit函数参数的默认选项

 formals(quit)$save <- "no" 

把这行放入.Rprofile

您可以为R命令创build一个别名:

使用bashalias R='R --no-save'

使用csh: alias R 'R --no-save'

如果你觉得足够冒险的话,你也可以在/usr/bin/R的末尾编辑startup部分,即在exec调用中添加--no-save 。 但是,如果您需要保存工作空间,请记住save.image()