103 votes

Comment désactiver "Enregistrer l'image de l'espace de travail?" invite dans R?

Lorsque je quitte le shell R interactif, il affiche une invite incommodante à chaque fois:

>
>
Enregistrer l'image de l'espace de travail? [y / n / c]: n

Je réponds toujours "non" à cette question, car si je souhaitais sauvegarder mon travail, je le ferais avant d' essayer de quitter.

Comment se débarrasser de l'invite?

81voto

Joshua Ulrich Points 68776

Vous pouvez passer l' --no-save argument de ligne de commande lorsque vous démarrez R, ou vous pouvez utiliser l' Defaults paquet de:

require(Defaults)
setDefaults(q, save="no")
useDefaults(q)

Placez le code ci-dessus dans votre .Rprofile de sorte qu'il sera exécuté au démarrage de chaque session. Un avantage à l'utilisation de l' Defaults solution, c'est qu'il semble contourner le "suicide raccourci" problème Spacedman mentionné.


Comme @John D. Cuire mentionné dans les commentaires, en ajoutant le code ci-dessus directement sur votre .Rprofile ne fonctionne pas car .Rprofile est exécutée à un moment du processus de démarrage, où seul le forfait de base est disponible.

Mettre cela dans mon .Rprofile atteint l'effet désiré sur 64 bits Ubuntu exécutant de la R-2.15.1 (mais il devrait fonctionner sur n'importe quel OS et la plupart de la R les versions):

# Set hook to be run when Defaults is attached
setHook(packageEvent("Defaults", "attach"),
  function(...) { setDefaults(q, save="no"); useDefaults(q) })
# add Defaults to the default packages loaded on startup
old <- getOption("defaultPackages");
options(defaultPackages = c(old, "Defaults"))

41voto

mreq Points 2627

Vous n'avez pas encore trouvé la solution Linux la plus simple :)

Sur Ubuntu, ajoutez la ligne suivante à votre ~/.bashrc :

 alias R='R --no-save'
 

Chaque fois que vous démarrez la console avec R R , il sera passé le --no-save option.

26voto

Hugo Ideler Points 774

Vous pouvez échapper à l'invite " Enregistrer l'image de l'espace de travail? " Avec Ctrl + D.

Ainsi, si vous faites Ctrl + D deux fois en R interactif, vous quittez R sans sauvegarder votre espace de travail.

(Testé uniquement sur Linux.)

12voto

Andrie Points 66979

Si vous utilisez Rgui, cliquez avec le bouton droit de la souris sur l'icône utilisée pour démarrer R, cliquez sur "Propriétés", puis ajoutez --no-save à la commande permettant de démarrer R.

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

Si vous utilisez un éditeur différent de Rgui, vous devez passer --no-save sur la ligne de commande R au démarrage de R

5voto

BondedDust Points 105234

Vous pouvez facilement ajouter une fonction qq() au fichier .Rprofile

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

Je pensais que l'option de sauvegarde était disponible avec les options, mais apparemment, la réponse de Joshua est la meilleure.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X