web-dev-qa-db-fra.com

Code pour effacer toutes les parcelles dans RStudio

J'ai du code pour effacer l'espace de travail: rm(list=ls()) et du code pour effacer la console: cat("\014")

Existe-t-il un code pour effacer toutes les parcelles de Rstudio?

54
dpel

dev.off() ferme le périphérique graphique actuel. Cela efface toutes les parcelles pour moi dans RStudio tant que je n'ai pas de périphérique graphique différent ouvert pour le moment. Si vous avez d'autres périphériques graphiques ouverts, vous pouvez utiliser dev.list() pour déterminer quel périphérique graphique est RStudio. Ce qui suit devrait le faire mais je ne l’ai pas testé de manière approfondie.

dev.off(dev.list()["RStudioGD"])

Mais si vous ne faites rien d'autre que d'utiliser dev.off(), vous devriez vous en occuper.

61
Dason

dev.off() ne fonctionne que dans une session interactive. Si vous souhaitez implémenter un tel comportement dans un script, vous devez utiliser

graphics.off()

au lieu.

25
Waldir Leoncio

Pour éviter le message d'erreur s'il n'y a pas de parcelles à effacer:

if(!is.null(dev.list())) dev.off()
5

J'utilise habituellement

while (dev.cur()>1) dev.off()

et comme j'utilise beaucoup RGL, j'ajoute souvent:

while (rgl.cur()) rgl.close()
4
Tom