Wenn ich die interaktive R-Shell verlasse, wird jedes Mal eine nervige Eingabeaufforderung angezeigt:
> > Arbeitsbereichsbild speichern? [j / n / c]: n
Ich antworte immer mit "Nein", denn wenn ich meine Arbeit retten wollte, würde ich das tun, bevor ich versuche zu beenden.
Wie werde ich die Eingabeaufforderung los?
Hinweis: siehe ?save.image
r
read-eval-print-loop
ulidtko
quelle
quelle
R --vanilla
q()
Funktion in .Rprofie: stackoverflow.com/a/13043239/180892Antworten:
Sie können das
--no-save
Befehlszeilenargument übergeben, wenn Sie R starten, oder Sie können dieq
Funktion überschreiben :Fügen Sie den obigen Code in Ihr .Rprofile ein, damit er beim Start für jede Sitzung ausgeführt wird.
quelle
Ich habe noch nicht die einfachste Linux-Lösung gefunden :)
Fügen Sie auf Ubuntu die folgende Zeile zu Ihrem hinzu
~/.bashrc
:Jedes Mal, wenn Sie die R-Konsole mit starten
R
, wird die--no-save
Option übergeben.quelle
R --vanilla
zum Kombinieren verwendenCombine --no-save, --no-restore, --no-site-file, --no-init-file and --no-environ
.Sie können die Eingabeaufforderung " Arbeitsbereichsbild speichern? " Mit a umgehen Ctrl+D.
Also, wenn Sie das tun Ctrl+D zweimal in interaktivem R arbeiten, beenden Sie R, ohne Ihren Arbeitsbereich zu speichern.
(Getestet unter Linux und OS X)
quelle
Wenn Sie Rgui verwenden, klicken Sie mit der rechten Maustaste auf das Symbol, mit dem Sie R starten, und klicken Sie auf "Eigenschaften". Fügen Sie dem Befehl, der R startet, --no-save hinzu.
(von http://tolstoy.newcastle.edu.au/R/help/05/03/1115.html )
Wenn Sie einen anderen Editor als Rgui verwenden, müssen Sie --no-save beim Starten von R an die R-Befehlszeile übergeben
quelle
Standardoption zum Speichern des Arguments der Beendigungsfunktion überschreiben
Setzen Sie diese Zeile in .Rprofile
Bearbeiten: hinzugefügt
q
, so dass es keine Eingabeaufforderung gibt, egal welche Variante verwendet wirdquelle
Sie können
qq()
der .Rprofile-Datei problemlos eine Funktion hinzufügenIch dachte, dass die Speicheroption mit Optionen verfügbar ist, aber anscheinend ist Joshuas Antwort die beste.
quelle
Holen Sie das Beste aus beiden Strategien von mreq und BondedDust heraus :
Standardmäßig wird nicht gespeichert, indem die folgende Zeile zu Ihrem ~ / .bashrc hinzugefügt wird:
Aber geben Sie sich eine einfache Möglichkeit, beim Beenden zu sparen, indem Sie dies zu ~ / .Rprofile hinzufügen:
Beendet nun also
q()
ohne Speichern (oder Aufforderung),qs()
wird aber gespeichert und beendet (auch ohne Aufforderung)quelle
Wie wäre es, wenn Sie die Eingabeaufforderung vermeiden, indem Sie
q('no')
stattdessen eingebenquelle
Wenn es wie ich zu aufwendig erscheint, ein ganzes Paar Klammern auszutippen, um die Antwort zu beenden, können Sie Folgendes versuchen:
Dadurch wird eine neue Klasse erstellt, die bewirkt, dass R beendet wird, wenn versucht wird, diese Klasse zu drucken. Das Ergebnis ist, dass, wenn Sie
exit
in der R-Repl ausführen, das Ganze beendet wird (weil es versucht, es zu drucken).NB: Sie können es hinzufügen, um es zu
~/.Rprofile
Beginn jeder Sitzung zu laden.quelle
Sie können einen Alias für den Befehl R erstellen:
mit bash :
alias R='R --no-save'
mit csh:
alias R 'R --no-save'
quelle
Wenn Sie sich abenteuerlustig genug fühlen, können Sie auch den
startup
Abschnitt am Ende von bearbeiten/usr/bin/R
, dh--no-save
zu den Exec-Aufrufen hinzufügen . Wenn Sie jedoch Ihren Arbeitsbereich speichern müssen, denken Sie daransave.image()
.quelle
/usr/bin
- und rate Ihnen dringend davon ab. Das ist der Systembereich, "unbefugtes Personal ist verboten"./usr
es den Robotern (ich meine den Paketmanagern), da sie diesen Bereich bereits verwalten. Es gibt Möglichkeiten, sich nicht einzumischen. Ansonsten suchst du gezielt nach Abenteuern.