Andrew Gelman a récemment déploré l'absence de processus de mise à niveau facile pour R (probablement plus pertinent sous Windows que Linux). Quelqu'un a-t-il une bonne astuce pour effectuer la mise à niveau, de l'installation du logiciel à la copie de tous les paramètres / packages?
Cette suggestion était contenue dans les commentaires et c'est ce que j'ai utilisé récemment. D'abord, vous installez la nouvelle version, puis exécutez ceci dans l'ancienne version:
#--run in the old version of R
setwd("C:/Temp/")
packages <- installed.packages()[,"Package"]
save(packages, file="Rpackages")
Suivi par ceci dans la nouvelle version:
#--run in the new version
setwd("C:/Temp/")
load("Rpackages")
for (p in setdiff(packages, installed.packages()[,"Package"]))
install.packages(p)
Réponses:
Pour être complet, il existe des moyens de vous éviter d'avoir ce problème. Comme Dirk l'a dit, enregistrez vos packages dans un autre répertoire de votre ordinateur.
Vous pouvez modifier la valeur par défaut
.Library
valeur à l' aide de la fonction.libPaths
tropCela mettra ce chemin comme première valeur dans la
.Library
variable, et en fera la valeur par défaut.Si vous souhaitez automatiser cela davantage, vous pouvez le spécifier dans le fichier Rprofile.site, que vous trouverez dans le répertoire / etc / de votre version R. Ensuite, il se chargera automatiquement à chaque chargement de R, et vous n'avez plus à vous en soucier. Vous pouvez simplement installer et charger des packages à partir du répertoire spécifié.
Enfin, j'ai un petit code inclus dans mon Rprofile.site me permettant de réinstaller tous les packages lorsque j'installe une nouvelle version R. Il vous suffit de les lister avant de passer à la nouvelle version R. Je le fais en utilisant un fichier .RData contenant une liste mise à jour avec tous les packages.
Je crée le packagelist.RData en spécifiant
.Last()
dans mon Rprofile.site. Cela met à jour la liste des packages si j'en ai installé:Lorsque j'installe une nouvelle version R, j'ajoute simplement les éléments nécessaires au fichier Rprofile.site et tous les packages sont réinstallés. Je dois quand même ajuster le Rprofile.site (en utilisant des contrastes de somme, en ajoutant le code supplémentaire pour Tinn-R, ces choses), donc ce n'est pas vraiment un travail supplémentaire. La réinstallation de tous les packages prend juste plus de temps.
Ce dernier bit est équivalent à ce qui est donné dans la question d'origine comme solution. Je n'ai simplement pas besoin de m'inquiéter d'avoir la liste «installée» en premier.
Encore une fois, cela ne fonctionne pas parfaitement si vous avez des packages qui ne sont pas installés à partir de CRAN. Mais ce code est facilement extensible pour inclure ceux-là aussi.
la source
.Library
. Dans mon cas, il pointe vers le dossier d'installation R s'il est inchangé (ce que je n'aime pas particulièrement, mais bon)C'est une vieille question bien sûr, mais il pourrait y avoir une nouvelle réponse facile (ne fonctionnant que pour Windows), que je viens de trouver.
La meilleure façon de procéder est d'utiliser le système RGui. Tous vos packages seront transférés dans le nouveau dossier et les anciens seront supprimés ou enregistrés (vous pouvez choisir l'un ou l'autre). Ensuite, une fois que vous ouvrez à nouveau RStudio, il reconnaît immédiatement que vous utilisez une version mise à jour. Pour moi, cela a fonctionné comme un charme,
Plus d'informations sur {installr} ici .
Simon
la source
Deux suggestions rapides:
Utilisez les fichiers batch de Gabor qui sont censés comprendre des outils aidant par exemple à déplacer ces bibliothèques en masse. Attention: je ne les ai pas utilisés.
N'installez pas de bibliothèques dans le 'filetree' de la version R installée. Sous Windows, je peux mettre R dans la version C: / opt / R / R- $ mais placer toutes les bibliothèques dans C: / opt / R / library / en utilisant l'extrait de code suivant car il atténue le problème en premier lieu:
la source
La méthode suggérée ci-dessus ne fonctionnera pas complètement si vous avez des packages qui ne proviennent pas de CRAN. Par exemple, un package personnel ou un package téléchargé à partir d'un site non CRAN.
Ma méthode préférée sur Windows (mise à niveau de la 2.10.1 vers la 2.11.0):
R-2.10.0/library/*
versR-2.11.0/library/
update.packages()
la source
En ce qui concerne la solution donnée dans la question, il peut ne pas être facile d'exécuter votre ancienne version de R si vous avez déjà installé la nouvelle version. Dans ce cas, vous pouvez toujours réinstaller tous les packages manquants de la version précédente de R comme suit.
(Notez que l'argument de
list.files()
dans la première ligne de code doit être le chemin d'accès au répertoire de la bibliothèque de votre version R précédente, où se trouvent tous les dossiers de packages de la version précédente. Dans mon cas actuel, c'est le cas"/Library/Frameworks/R.framework/Versions/3.2/Resources/library"
. Ce sera différent si votre précédente version R n'est pas la 3.2, ou si vous êtes sous Windows.)L'
if
instruction s'assure qu'un package n'est pas installé sifor
boucle.la source
Suite à la suggestion de Dirk, voici un code R pour le faire sous Windows: Comment mettre à jour facilement R sur Windows XP
Mise à jour (15.04.11): j'ai écrit un autre article sur le sujet, expliquant comment gérer les problèmes courants de la mise à niveau de R sur Windows 7
la source
installr
qui automatise ce processus (actuellement uniquement sur Windows) r-statistics.com/tag/installr ou github.com/talgalili/installrinstall.packages(installr); library(installr); updateR(TRUE)
. À la fin,[1] TRUE
apparaît. Par l'excellent package de Galili, je suis passé de la R 3.6.0 à la R 3.6.1 très facilement. Merci Tal.Deux options:
.libPaths("C:/R/library")
la source
Je suis sous Windows 8 et pour une raison étrange, je ne peux jamais installer de packages en utilisant mes connexions Internet.
Je l'installe généralement en utilisant le fichier .zip de CRAN.
Après je suis passé de R 3.2.5 à R 3.3.1.
J'ai simplement copié les packages de
C:\Path\to\packa\R\win-library\3.2
àC:\Path\to\packa\R\win-library\3.3
.Et puis j'ai redémarré la session R. A parfaitement fonctionné. Je n'ai pas vérifié si TOUS les packages fonctionnent correctement. Mais ceux que j'ai vérifiés fonctionnent parfaitement bien. J'espère que ce hack fonctionne pour tout le monde.
À votre santé.
la source
La réponse acceptée pourrait fonctionner si vous avez de la prévoyance, mais je m'étais déjà débarrassé de l'ancienne version et je n'ai donc pas pu suivre ces instructions. Les étapes décrites ci-dessous ont fonctionné pour la mise à niveau OSX de 2.1 et 3.1.
MISE À JOUR: Pour obtenir le répertoire de votre version la plus récente (au lieu de taper 3.1 ou 3.2), vous pouvez utiliser les commandes ci-dessous. Le second se convertit directement en variable R, en sautant
.
et..
et.DS_Store
, utilisez:(Ajoutez
|pbcopy
à la fin pour le copier directement dans le presse-papiers de votre Mac)Ensuite, dans R, vous pouvez coller cette variable générée. Une fois que cela est défini dans la nouvelle version de R, vous pouvez parcourir les packages installés à partir des instructions ci-dessus ...
la source
pour moi, cette page est bonne https://www.r-statistics.com/2013/03/updating-r-from-r-on-windows-using-the-installr-package/ ou une autre option consiste simplement à installer le nouveau option et au final vous mettez, par exemple dans les fenêtres de mon pc
.libPaths (c ("D: /Documents/R/win-library/3.2", "C: / Program Files / R / R-3.2.3 / bibliothèque", "C: / Program Files / R / R-3.2 .0 / bibliothèque "," D: /Documents/R/win-library/2.15 ")
chaque chemin de la dernière version dans mon cas, je mets toujours le premier chemin est "D: /Documents/R/win-library/3.2" qui est corrigé, puis je mets l'autre car vous n'avez pas besoin de copier ou de déplacer des packages, dans mon avis appelle ça
la source
linux
+bash
+debian
+apt
utilisateurs:Si vous installez / mettez à niveau vers la dernière version de
R
, nous pouvons supposer que vous avez desroot
autorisations. (Pas essentiel, rend simplement le processus beaucoup plus simple; par souci de cohérence, le script ci-dessous utilisesudo
pour toutes les installations.) Comme lesR
packages sont également installés parroot
, il est donc permis de les placer dans/usr/local/
.L'appel
curl
ci-dessous suppose que vous êtes déjà intéressé par lasid
sortie deR
, la toute dernière version instable (comme requis lors de la construction / vérification d'unR
paquet) iecat /etc/apt/sources.list | grep 'sid' || exit 1
bien que cela puisse facilement être remplacé par une version stable récente, par exemple
buster
.Notez que je n'utilise pas de clé comme cela est généralement recommandé . Ce n'est pas indispensable, surtout si (comme dans le script qui suit) nous installons des packages en
R
lui-même (Rscript -e
ci-dessous). De plus, ces clés ont tendance à se casser / changer toutes les quelques années. Ainsi, vous êtes bien entendu invités à ajouter la préface suivante au fichierR.sh
qui suit:sudo apt-key adv --keyserver keyserver.ubuntu.com \ --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
Le
array
desR
packages n'est clairement pas exhaustif mais donne quelques exemples que je trouve personnellement utiles. Une nouvelle installation / mise à jour avec ledebian
paquetr-recommended
, comme ci-dessous, devrait donner la dernière version de tous les paquets standard «recommandés» (par exemplesurvival
). Je pense qu'il peut y avoir un léger décalage entre une version CRAN et une mise à jour dudebian
package concerné . Ainsi, vous souhaiterez peut-être en ajouter quelques-uns à la listearray
ci-dessous s'ilR
est essentiel de disposer de la dernière version d'un package «recommandé» .Les
debian
packages installés dans le processus ci-dessous ne sont également ni essentiels (pour l'utilisationr-base
) ni exhaustifs, mais fournissent un non. des «add-ons» qui sont importants pour un non raisonnable. deR
paquets.Quoi qu'il en soit ... placez ce qui suit dans
R.sh
:Ensuite , l' exécuter, par exemple en supposant déjà dans le répertoire:
source R.sh
.L'installation des packages (que ce soit
debian
ouR
) un par un dans une boucle à partir du shell est quelque peu inefficace, mais permet un traçage plus simple des erreurs, à mon humble avis. Peut prendre un certain temps selon le non. deR
paquets, alors peut-être le plus simple à laisser fonctionner du jour au lendemain ...la source
r-recommended
. 'r-base-devel' est connu sous le nom der-base-dev
(debian
package) - était déjà inclus. Je ne suis pas opposé à l'utilisation d'une clé pour la sécurité (réponse mise à jour). Les séjours de réponse loin d'utiliser unPPA
= Package Archives personnelles que celles - ci sont nécessairement dépendant d' une personne et donc potentiellement faillibles. Comme le dit Michael Rutter lui-même (2012): "Si vous avez utilisé CRAN, il n'y a aucune raison de passer au PPA, car les mêmes packages sont fournis aux deux endroits."