Juste pour être complet, il existe quelques moyens pour vous éviter ce problème. Comme Dirk dit, enregistrez votre colis dans un autre répertoire sur votre ordinateur.
install.packages("thepackage",lib="/path/to/directory/with/libraries")
Vous pouvez modifier la valeur par défaut .Library
de la valeur à l'aide de la fonction .libPaths
trop
.libPaths("/path/to/directory/with/libraries")
Cela permettra de mettre ce chemin comme une première valeur en .Library
variable, la valeur par défaut.
Si vous souhaitez automatiser cette autre, vous pouvez le spécifier dans le Rprofile.site fichier, que vous trouverez dans le répertoire /etc/ de votre R construire. Puis il va charger automatiquement chaque fois que la R des charges, et vous n'avez pas à vous soucier de tout autre. Vous pouvez simplement installer et charger des packages à partir d'un répertoire spécifié.
Enfin, j'ai un petit code inclus dans mon Rprofile.site me permettant de réinstaller tous les paquets lorsque j'installe une nouvelle version R. Vous avez juste à les énumérer avant la mise à jour vers la nouvelle version R. - Je le faire à l'aide d'un .RData fichier contenant une liste mise à jour avec tous les paquets.
library(utils)
## Check necessary packages
load("G:\Setinfo\R\packagelist.RData") # includes a vector "pkgs"
installed <- pkgs %in% installed.packages()[, 'Package']
if (length(pkgs[!installed]) >=1){
install.packages(pkgs[!installed])
}
Je fais le packagelist.RData en spécifiant .Last()
dans mon Rprofile.site. Cela met à jour la liste des paquets si j'ai installée :
.Last <- function(){
pkgs <- installed.packages()[,1]
if (length(pkgs) > length(installed)){
save(pkgs,file="G:\Setinfo\R\packagelist.RData")
}
}
Lorsque j'installe une nouvelle version R, je viens d'ajouter les éléments nécessaires à la Rprofile.site fichier et tous les paquets sont réinstallés. Je dois ajuster le Rprofile.site de toute façon (à l'aide de la somme des contrastes, l'ajout du code supplémentaire pour Tinn-R, de ces choses), donc c'est pas vraiment du travail supplémentaire. Il faut juste de temps supplémentaire, l'installation de tous les paquets de nouveau.
Ce dernier est équivalent à ce qui est indiqué dans la question d'origine comme une solution. Je n'ai pas besoin de vous soucier de faire le "installé" liste de la première.
Encore une fois, ce n'est pas un travail impeccable si vous avez des paquets qui ne sont pas installés de CRAN. Mais ce code est facilement étendu pour inclure ceux qui sont trop.
Edit: Il y a une parenthèse manquante dans le code