En travaillant à la résolution d'un autre problème, j'ai rencontré ce problème :
Je peux supprimer tous les objets R en :
rm(list = ls(all = TRUE))
Existe-t-il une commande équivalente permettant de détacher les paquets installés pendant la session de travail ?
> sessionInfo()
R version 2.12.2 (2011-02-25)
Platform: i386-pc-mingw32/i386 (32-bit)
locale:
[1] LC_COLLATE=English_United States.1252
[2] LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
require(ggplot2)
Loading required package: ggplot2
Loading required package: reshape
Loading required package: plyr
Attaching package: 'reshape'
The following object(s) are masked from 'package:plyr':
round_any
Loading required package: grid
Loading required package: proto
sessionInfo()
R version 2.12.2 (2011-02-25)
Platform: i386-pc-mingw32/i386 (32-bit)
locale:
[1] LC_COLLATE=English_United States.1252
[2] LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] grid stats graphics grDevices utils datasets methods
[8] base
other attached packages:
[1] ggplot2_0.8.9 proto_0.3-9.1 reshape_0.8.4 plyr_1.4
J'ai essayé de cette façon, bien que même il a travaillé dans pas une solution globale :
pkg <- c("package:ggplot2_0.8.9", "package:proto_0.3-9.1", "package:reshape_0.8.4", "package:plyr_1.4")
detach(pkg, character.only = TRUE)
Error in detach(pkg, character.only = TRUE) : invalid 'name' argument
In addition: Warning message:
In if (is.na(pos)) stop("invalid 'name' argument") :
the condition has length > 1 and only the first element will be used
Ce que je cherche, c'est quelque chose de global comme.. :
rm(list = ls(all = TRUE))
pour les objets, s'attendre à ce qu'il ne supprime pas les paquets de base attachés
Merci ;
3 votes
Non pas que votre question ne soit pas valable, mais pourquoi ne pas simplement redémarrer R ?
5 votes
@Aaron parce que vous ne devriez pas avoir à le faire ;-) Pour passer
R CMD check
un paquet est censé se décharger proprement, donc R Core s'attend à ce que cela soit possible et que l'on puisse souhaiter le faire.0 votes
@Aaron, je pense que parfois il pourrait être utile de laisser partir la session lorsque certains paquets causent ou pourraient causer des interférences, mais ont été utilisés dans les étapes précédentes ...
6 votes
Il n'est pas possible de faire table rase du passé. J'en ai parlé avec John Chambers, et c'est particulièrement difficile à faire pour l'enregistrement des classes/méthodes S4.