Indolore pour installer une nouvelle version de la R?
Andrew Gelman récemment déploré l'absence d'un simple processus de mise à niveau pour la R (probablement plus pertinent sur Windows que sur Linux). Quelqu'un aurait-il un bon truc pour faire la mise à niveau, depuis l'installation du logiciel pour copier tous les paramètres/colis de plus?
Cette suggestion a été contenue dans les commentaires et c'est ce que j'ai utilisé récemment. Tout d'abord vous installez la nouvelle version, puis exécutez ce dans l'ancienne version:
#--run in the old version of R
setwd("C:/Temp/")
packages <- installed.packages()[,"Package"]
save(packages, file="Rpackages")
Suivie par cette nouvelle version:
#--run in the new version
setwd("C:/Temp/")
load("Rpackages")
for (p in setdiff(packages, installed.packages()[,"Package"]))
install.packages(p)
- Comment up-to-date est la solution qui a été utilisée ici?
- Je l'ai utilisé récemment et fonctionne très bien.
- stackoverflow.com/questions/13656699/update-r-using-rstudio
Vous devez vous connecter pour publier un commentaire.
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.
Vous pouvez modifier la valeur par défaut
.Library
valeur à l'aide de la fonction.libPaths
tropCela va ce chemin comme une première valeur dans la
.Library
variable, et 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.
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 :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.
De 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.
.Library
. Dans mon cas, il renvoie à la R dossier d'installation si inchangée (que je n'aime pas, mais bon)C'est une vieille question, bien sûr, mais il pourrait y avoir une nouvelle réponse facile (travail uniquement pour Windows), que je viens de trouver.
La meilleure façon de le faire est de la RGui système. Tous vos paquets seront transférés vers le nouveau dossier et les anciennes seront supprimées ou enregistré (vous pouvez choisir soit).
Ensuite, une fois que vous ouvrez RStudio encore une fois, il reconnaît aussitôt que vous utilisez une version mise à jour. Pour moi, cela a fonctionné comme un charme,
Plus d'infos sur {installr} ici.
Simon
Deux petites suggestions:
Utilisation Gabor est batchfiles qui constituent des outils d'aide avec, par exemple, cette masse de bibliothèque de délocalisations. Mise en garde: je ne les ai pas utilisé.
Ne pas installer les bibliothèques au sein de la "filetree" du installé R version. Sur Windows, je peut mettre en R C:/opt/R/R-$version, mais la place dans toutes les bibliothèques C:/opt/R/library/à l'aide de l'extrait de code suivant car elle atténue le problème en premier lieu:
La méthode proposée ci-dessus ne seront pas complètement le travail si vous avez des paquets qui ne sont pas de CRAN. Par exemple, un paquet ou un colis téléchargé à partir d'un non-CRAN site.
Ma méthode préférée sur Windows (mise à niveau 2.10.1 à 2.11.0):
R-2.10.0/library/*
àR-2.11.0/library/
update.packages()
update.packages(checkBuilt=TRUE)
update.packages(checkBuilt=TRUE, ask=FALSE)
😛Par rapport à la solution donnée à la question, il pourrait ne pas être facile à 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 paquets manquants à partir de la précédente version 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 précédente version R, où tous les dossiers de paquets dans la version précédente sont. Dans mon cas actuel, c'est"/Library/Frameworks/R.framework/Versions/3.2/Resources/library"
. Ce sera différent si votre précédente version R n'est pas 3.2, ou si vous êtes sur Windows.)La
if
instruction permet de s'assurer qu'un paquet est pas installé sifor
boucle.La suite de Dirk suggestion, voici quelques R code pour le faire sur windows: Comment mettre à niveau facilement R sur windows XP
Mise à jour (15.04.11): j'ai écrit un autre post sur le sujet, expliquant comment traiter les problèmes courants de la mise à niveau de R sur windows 7
installr
qui automatise ce processus (actuellement uniquement sur Windows) r-statistics.com/tag/installr ou github.com/talgalili/installrDeux options:
.libPaths("C:/R/library")
Je suis sur Windows 8 et pour quelque étrange raison, je ne peux jamais installer des paquets à l'aide de mes connexions internet.
En général, je l'installer en utilisant l' .fichier zip à partir de CRAN.
Après je suis passé de R 3.2.5 R 3.3.1.
J'ai simplement copié les paquets 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é le R de la session. A parfaitement fonctionné.
Je n'ai pas vérifié si TOUS les paquets sont en bon état de fonctionnement.
Mais, ceux que j'ai vérifié fonctionnent parfaitement bien.
Espérons que ce hack fonctionne pour tout le monde.
Acclamations.
Accepté la réponse pourrait fonctionner si vous avez de la clairvoyance, mais je l'avais déjà réussi à se débarrasser de l'ancienne version n'était donc pas en mesure de suivre ces instructions.
Les étapes décrites ci-dessous travaillé pour OSX mise à niveau à partir 2.1 et 3.1.
Mise à JOUR: Pour obtenir le répertoire de la version la plus récente (au lieu de taper en 3.1 ou 3.2), vous pouvez utiliser les commandes ci-dessous. Le second convertit directement à la R-variable, en sautant
.
et..
et.DS_Store
, utilisation:(Ajouter
|pbcopy
à la fin de copier directement sur votre Mac le presse-papiers)Puis à l'intérieur de R vous pouvez coller cette variable qui est généré. Une fois que cela est défini dans la nouvelle version de R, vous pouvez faire une boucle à travers les paquets installés des instructions ci-dessus...
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 est de simplement installer la nouvelle option et au final vous mettez, par exemple dans windows dans mon pc
.libPaths(c(
"D:/Documents/R/win-library/3.2",
"C:/Program les Fichiers de/R/R-3.2.3/bibliothèque",
"C:/Program les Fichiers de/R/R-3.2.0/bibliothèque",
"D:/Documents/R/win-library/2.15"
)
chaque chemin d'accès de la dernière version dans mon cas, j'ai toujours mis le premier chemin d'accès est "D:/Documents/R/win-library/3.2" qui est fixe
et puis j'ai mis l'autre parce que vous n'avez pas besoin de copier ou de déplacer des paquets, dans mon sugest viens de l'appeler
linux
+bash
+debian
+apt
utilisateurs:Si vous êtes à l'installation/mise à niveau vers la version la plus récente de
R
, alors on peut supposer que vous avezroot
autorisations. (Pas indispensable, juste rend le processus beaucoup plus simple; pour des raisons de cohérence, le script ci-dessous utilisesudo
pour tous installe.)Comme le
R
forfaits sont également installés parroot
, il est donc permis de les replacer dans/usr/local/
.L'appel à
curl
ci-dessous suppose que vous êtes déjà intéressé à lasid
libération deR
, la toute dernière instable version (comme requis lors de la construction/de la vérification desR
package) c'est à direcat /etc/apt/sources.list | grep 'sid' || exit 1
bien que cela pourrait facilement être remplacé par une récente publication de la version stable par exemple
buster
.Remarque que je suis pas à l'aide d'un clé comme généralement recommandé. Ce n'est pas indispensable, surtout si (comme dans le script qui suit), nous allons installer les paquets dans
R
lui-même (Rscript -e
ci-dessous). Aussi, ces touches ont une tendance à la pause/changer toutes les quelques années. Ainsi, vous êtes évidemment les bienvenus pour ajouter le suivant de la préface du fichierR.sh
qui suit:sudo apt-key adv --keyserver keyserver.ubuntu.com \
--recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
La
array
deR
paquets est évidemment pas exhaustive, mais donne quelques exemples que je trouve personnellement utile. Une nouvelle installation/de mise à niveau avec ledebian
paquetr-recommandé
, comme ci-dessous, devrait donner la dernière version de l'ensemble de la norme "recommandé" packages (par exemplesurvival
). Je crois qu'il peut y avoir un léger décalage entre un CRAN de presse et une mise à jour à ladebian
paquet. Ainsi, vous pouvez ajouter certains de ces à laarray
ci-dessous si le fait d'avoir la dernière version d'un "recommandé"R
paquet est essentiel.La
debian
paquets installés dans le processus ci-dessous sont également plus essentiel (pour l'utilisation desr-base
) ni exhaustive, mais de fournir un pas. des "add-ons" qui sont importantes pour un raisonnable pas. deR
paquets.De toute façon... placez les éléments suivants dans
R.sh
:Puis l'exécuter, par exemple, en supposant que dans le répertoire déjà:
source R.sh
.L'installation de paquets (si
debian
ouR
) un par un dans une boucle de la coquille est quelque peu inefficace, mais qui permet de plus simple traçage des erreurs, à mon humble avis. Peut prendre un certain temps selon les pas de. deR
paquets, donc peut-être plus simple de laisser tourner toute la nuit...r-recommended
. 'r-base-devel' est connu commer-base-dev
(debian
forfait) - a déjà été inclus. Je ne suis pas opposé à l'aide d'une clé pour la sécurité (réponse mis à jour). La réponse reste loin de l'utilisation d'unPPA
= Personal Package Archives par nécessité dépendant d'une seule personne et donc potentiellement faillible. Comme Michael Rutter dit lui-même (2012): "Si vous avez été en utilisant CRAN, alors il n'y a pas de raison de changer pour le PPA, comme les paquets sont fournis à ces deux endroits."