Jak wyłączyć " Zapisz obraz obszaru roboczego?"prompt w R?
Kiedy opuszczam interaktywną powłokę r, wyświetla za każdym razem irytujący monit:
> > Save workspace image? [y/n/c]: n
Zawsze odpowiadam "nie", ponieważ gdybym chciał uratować moją pracę, zrobiłbym to przed próbując wyjść.
Jak pozbyć się znaku zachęty?
Uwaga: zobacz ?save.image
11 answers
Możesz zdać --no-save
argument wiersza poleceń po uruchomieniu R, lub możesz nadpisać funkcję q
:
utils::assignInNamespace(
"q",
function(save = "no", status = 0, runLast = TRUE)
{
.Internal(quit(save, status, runLast))
},
"base"
)
Umieść powyższy kod w swoim .Rprofile więc będzie uruchamiany przy starcie dla każdej sesji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-27 15:57:06
Nie znalazłem jeszcze najprostszego linuksowego rozwiązania:)
Na ubuntu Dodaj do swojego ~/.bashrc
następujący wiersz:
alias R='R --no-save'
Za każdym razem, gdy uruchomisz konsolę R z R
, Zostanie ona przekazana opcji --no-save
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-01 09:09:06
Można uciec " zapisać obraz obszaru roboczego? " znak zachęty z Ctrl + D .
Tak więc, jeśli wykonasz CTRL+D dwa razy w interaktywnym R, to zakończysz R bez zapisywania przestrzeni roboczej.
(testowane na Linuksie i OS X)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-23 09:19:11
Jeśli używasz Rgui, kliknij prawym przyciskiem myszy ikonę, której używasz do uruchomienia R, kliknij "Properties" i dodaj --no-save do polecenia uruchamiającego R.
(z http://tolstoy.newcastle.edu.au/R/help/05/03/1115.html )
Jeśli używasz innego edytora niż Rgui, musisz przekazać --no-save do linii poleceń R podczas uruchamiania R
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-14 19:12:08
Możesz łatwo dodać qq()
funkcję do .Plik Rprofile
qq <- function(save="no") { q(save=save)}
Myślałem, że opcja Zapisz jest dostępna z opcjami, ale najwyraźniej odpowiedź Joshuy jest najlepsza.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-28 22:29:42
Uzyskaj najlepszą z obu strategii podanych przez mreq i BondedDust :
Domyślnie nie zapisuje przez dodanie następującej linii do~/.bashrc:
alias R='R --no-save'
Ale daj sobie łatwy sposób, aby zapisać na wyjściu, dodając to do~/.Rprofile:
qs <- function(save="yes") { q(save=save)}
Więc teraz q()
kończy pracę bez zapisywania (lub monitowania), ale qs()
zapisze i zamknie (również bez monitu)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-25 16:56:08
Może po prostu unikniesz zachęty, wpisując q('no')
zamiast
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-15 00:18:43
Zastąp domyślną opcję dla save argument quit function
formals(quit)$save <- formals(q)$save <- "no"
Włóż tę linię .Rprofile
Edit: Dodano q
, więc nie ma zachęty bez względu na to, który wariant jest używany
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-01 13:29:43
Jeśli, tak jak ja, wpisanie całej pary nawiasów wydaje się zbyt dużym wysiłkiem, aby wyjść z repl, możesz spróbować tego:
exit <- structure(list(), class = "exit_command")
print.exit_command <- function(...) {
q("no") # exit without saving
}
Tworzy to nową klasę, która powoduje, że r kończy pracę, gdy próbuje ją wydrukować. Wynik jest taki, że jeśli uruchomisz exit
w repl R, cała sprawa zakończy się (ponieważ próbuje ją wydrukować).
NB: możesz dodać go do ~/.Rprofile
, aby załadować na początku każdej sesji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-29 16:31:58
Możesz utworzyć alias dla polecenia R:
Korzystanie z bash: alias R='R --no-save'
Korzystanie z csh: alias R 'R --no-save'
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-28 21:48:49
Jeśli czujesz się wystarczająco odważny, możesz również edytować sekcję startup
Na końcu /usr/bin/R
, tzn. dodać --no-save
do wywołań exec. Jeśli jednak chcesz zapisać swój obszar roboczy, pamiętaj o save.image()
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-11 08:34:11