120 votes

détacher tous les paquets pendant le travail en R

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 ...

-1voto

M. Wood Points 125

Si vous avez des problèmes avec les paquets qui ont des fonctions nommées de manière similaire et qui entrent en conflit les unes avec les autres, vous pouvez toujours faire référence à l'espace de nom du paquet dont la fonction vous intéresse vraiment.

pkg_name::function_i_want()

0 votes

Il s'agit d'un commentaire au lieu d'une réponse à la question posée.

0 votes

Je suppose que j'aurais dû mettre ceci en commentaire de la réponse précédente sur plyr v. dplyr, est-il possible de le déplacer ? Je suis encore en train d'apprendre les conventions ici.

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