web-dev-qa-db-ja.com

「ワークスペースイメージの保存」を無効にする方法Rでプロンプトを出しますか?

インタラクティブRシェルを終了すると、毎回迷惑なプロンプトが表示されます。

> 
> 
ワークスペースイメージを保存しますか? [y/n/c]:n 

私が常に「いいえ」と答えているのは、自分の作業を保存したい場合はbeforeで終了しようとするためです。

プロンプトを取り除く方法は?


注:?save.imageをご覧ください

90
ulidtko

--no-save Rを起動するときのコマンドライン引数、またはq関数をオーバーライドできます。

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

上記のコードを.Rprofileに入れて、起動時にすべてのセッションで実行されるようにします。

75
Joshua Ulrich

最も簡単なLinuxソリューションをまだ見つけていません:)

Ubuntuで、次の行を~/.bashrcに追加します。

alias R='R --no-save'

RでRコンソールを起動するたびに、--no-saveオプションが渡されます。

29
mreq

ワークスペースの画像を保存しますか?」でエスケープできます。 Ctrl+D

したがって、あなたが行う場合 Ctrl+D 対話型Rで2回、ワークスペースを保存せずにRを終了します。

(LinuxおよびOS Xでテスト済み)

18
Hugo Ideler

Rguiを使用している場合は、Rの起動に使用するアイコンを右クリックして[プロパティ]をクリックし、Rを起動するコマンドに--no-saveを追加します。

(から http://tolstoy.newcastle.edu.au/R/help/05/03/1115.html

Rguiとは異なるエディターを使用している場合は、Rを起動するときに--no-saveをRコマンドラインに渡す必要があります。

11
Andrie

saveのデフォルトオプションを上書きquit関数の引数

formals(quit)$save <- formals(q)$save <- "no"

この行を.Rprofileに入れます

編集:qを追加したため、どのバリアントを使用してもプロンプトは表示されません

7
Pafnucy

qq()関数を.Rprofileファイルに簡単に追加できます

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

保存オプションはオプションで利用できると思いましたが、どうやらジョシュアの答えが最善です。

6
42-

mreq および BondedDust によって与えられる両方の戦略の最良のものを取得します。

〜/ .bashrcに次の行を追加して、デフォルトで保存しないようにします。

_alias R='R --no-save'
_

しかし、これを〜/ .Rprofileに追加して、終了時に簡単に保存する方法を自分に与えてください:

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

したがって、q()は保存せずに(またはプロンプトなしで)終了しますが、qs()は保存して終了します(これもプロンプトなしで)

5
flyingfinger

私のように、ブラケットのペア全体を入力すると、replを終了するのに手間がかかりすぎるように思える場合は、次のように試すことができます。

exit <- structure(list(), class = "exit_command")

print.exit_command <- function(...) {
  q("no")  # exit without saving
}

これにより、新しいクラスが作成され、そのクラスを印刷しようとするとRが終了します。その結果、R replでexitを実行すると、すべてが終了します(印刷しようとするため)。

注意:~/.Rprofileに追加して、すべてのセッションの開始時にロードすることができます。

3
snakeoilsales

代わりにq('no')と入力してプロンプトを回避するのはどうですか

3
Stedy

Rコマンドのエイリアスを作成できます。

bashを使用alias R='R --no-save'

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

3
wizmer