インタラクティブRシェルを終了すると、毎回迷惑なプロンプトが表示されます。
> > ワークスペースイメージを保存しますか? [y/n/c]:n
私が常に「いいえ」と答えているのは、自分の作業を保存したい場合はbeforeで終了しようとするためです。
プロンプトを取り除く方法は?
注:?save.image
をご覧ください
--no-save
Rを起動するときのコマンドライン引数、またはq
関数をオーバーライドできます。
utils::assignInNamespace(
"q",
function(save = "no", status = 0, runLast = TRUE)
{
.Internal(quit(save, status, runLast))
},
"base"
)
上記のコードを.Rprofileに入れて、起動時にすべてのセッションで実行されるようにします。
最も簡単なLinuxソリューションをまだ見つけていません:)
Ubuntuで、次の行を~/.bashrc
に追加します。
alias R='R --no-save'
R
でRコンソールを起動するたびに、--no-save
オプションが渡されます。
「ワークスペースの画像を保存しますか?」でエスケープできます。 Ctrl+D。
したがって、あなたが行う場合 Ctrl+D 対話型Rで2回、ワークスペースを保存せずにRを終了します。
(LinuxおよびOS Xでテスト済み)
Rguiを使用している場合は、Rの起動に使用するアイコンを右クリックして[プロパティ]をクリックし、Rを起動するコマンドに--no-saveを追加します。
(から http://tolstoy.newcastle.edu.au/R/help/05/03/1115.html )
Rguiとは異なるエディターを使用している場合は、Rを起動するときに--no-saveをRコマンドラインに渡す必要があります。
saveのデフォルトオプションを上書きquit関数の引数
formals(quit)$save <- formals(q)$save <- "no"
この行を.Rprofileに入れます
編集:q
を追加したため、どのバリアントを使用してもプロンプトは表示されません
qq()
関数を.Rprofileファイルに簡単に追加できます
qq <- function(save="no") { q(save=save)}
保存オプションはオプションで利用できると思いましたが、どうやらジョシュアの答えが最善です。
mreq および BondedDust によって与えられる両方の戦略の最良のものを取得します。
〜/ .bashrcに次の行を追加して、デフォルトで保存しないようにします。
_alias R='R --no-save'
_
しかし、これを〜/ .Rprofileに追加して、終了時に簡単に保存する方法を自分に与えてください:
_qs <- function(save="yes") { q(save=save)}
_
したがって、q()
は保存せずに(またはプロンプトなしで)終了しますが、qs()
は保存して終了します(これもプロンプトなしで)
私のように、ブラケットのペア全体を入力すると、replを終了するのに手間がかかりすぎるように思える場合は、次のように試すことができます。
exit <- structure(list(), class = "exit_command")
print.exit_command <- function(...) {
q("no") # exit without saving
}
これにより、新しいクラスが作成され、そのクラスを印刷しようとするとRが終了します。その結果、R replでexit
を実行すると、すべてが終了します(印刷しようとするため)。
注意:~/.Rprofile
に追加して、すべてのセッションの開始時にロードすることができます。
代わりにq('no')
と入力してプロンプトを回避するのはどうですか
Rコマンドのエイリアスを作成できます。
bashを使用:alias R='R --no-save'
csh:を使用alias R 'R --no-save'