uli*_*tko 88 r read-eval-print-loop
当我退出交互式R shell时,每次都会显示一个恼人的提示:
> > Save workspace image? [y/n/c]: n
我总是回答"不",因为如果我想保存我的工作,我会在尝试退出之前这样做.
如何摆脱提示?
注意:见 ?save.image
Jos*_*ich 74
您可以--no-save在启动R时传递命令行参数,也可以覆盖该q函数:
utils::assignInNamespace(
"q",
function(save = "no", status = 0, runLast = TRUE)
{
.Internal(quit(save, status, runLast))
},
"base"
)
Run Code Online (Sandbox Code Playgroud)
将上面的代码放在.Rprofile中,这样它就会在启动时为每个会话运行.
mre*_*req 28
尚未找到最简单的Linux解决方案:)
在ubuntu上添加以下行~/.bashrc:
alias R='R --no-save'
Run Code Online (Sandbox Code Playgroud)
每次启动R控制台时R,都会传递--no-save选项.
And*_*rie 11
如果您正在使用Rgui,请右键单击用于启动R的图标并单击"属性",然后将--no-save添加到启动R的命令中.
(来自http://tolstoy.newcastle.edu.au/R/help/05/03/1115.html)
如果您使用的是与Rgui不同的编辑器,则必须在启动R时将--no-save传递给R命令行
如果您使用的是 R Studio IDE,则可以通过重新设置全局选项来完成此操作。
\n转到工具 --> 全局选项 --> R 常规(基本)
\n\n单击“应用”,然后单击“确定”
\n\n在这篇文章中,我解决了“我们应该还是不应该”保存工作区图像?\n我已经在评论中写下了以下问题的详细答案(请确保您全部阅读):
\n在其他一些帖子中,我讨论了可能对 R 用户有用的内容:
\n\'什么是可重复工作?\'\n https://www.linkedin.com/feed/update/urn:li:activity:6789770117715640320
\n为什么不应该使用 rm(list=ls())?R 最佳实践\n https://www.linkedin.com/feed/update/urn:li:activity:6785805481131683840
\n\n覆盖退出函数的save参数的默认选项
formals(quit)$save <- formals(q)$save <- "no"
Run Code Online (Sandbox Code Playgroud)
把这一行放在.Rprofile中
编辑:添加q,因此无论使用哪种变体都没有提示
您可以轻松地将qq()功能添加到.Rprofile文件中
qq <- function(save="no") { q(save=save)}
Run Code Online (Sandbox Code Playgroud)
我认为保存选项可以选择,但显然约书亚的答案是最好的.
充分利用mreq和BondedDust给出的两种策略:
通过将以下行添加到〜/ .bashrc中,默认为不保存:
alias R='R --no-save'
Run Code Online (Sandbox Code Playgroud)
但是,通过将其添加到〜/ .Rprofile中,可以为自己提供退出退出的简单方法:
qs <- function(save="yes") { q(save=save)}
Run Code Online (Sandbox Code Playgroud)
因此,现在q()退出时不保存(或不提示),但qs()将保存并退出(也不提示)