Mettre à jour R sur Windows n’est pas facile. Bien que la FAQ de R propose des lignes directrices, certains utilisateurs préfèrent simplement exécuter une commande afin de mettre à jour leur R à la dernière version. C’est l’objectif du nouveau paquet {installr}.
Le paquet {installr} offre un ensemble de fonctions R pour l’installation et la mise à jour de logiciels (actuellement, uniquement sur le système d’exploitation Windows), avec un accent particulier sur R lui-même. Pour mettre à jour R, vous pouvez simplement exécuter le code suivant :
# installing/loading the package:if(!require(installr)) {install.packages("installr"); require(installr)} #load / install+load installr# using the package:updateR() # this will start the updating process of your R installation. It will check for newer versions, and if one is available, will guide you through the decisions you'd need to make.
L’exécution de cette fonction effectuera les étapes suivantes :
-
Vérifier quelle est la dernière version de R. Si la version de R actuellement installée est à jour, la fonction se termine (et renvoie FALSE)
-
Si une version plus récente de R est disponible, il vous sera demandé si vous souhaitez examiner les ACTUALITES de la dernière version de R – afin de décider si vous devez installer la
nouvelle R ou non. -
Si vous le souhaitez – la fonction téléchargera et installera la dernière version de R. (vous devrez appuyer sur les boutons « next » par vous-même)
-
Une fois l’installation terminée, vous devez appuyer sur « any-key », et la fonction procédera à la copie de tous vos paquets de votre ancienne (enfin, actuelle) installation de R, dans votre installation de R plus récente.
-
Vous pouvez ensuite effacer tous les paquets de votre ancienne installation R.
-
Après que vos paquets aient été déplacés (et les anciens éventuellement effacés), vous aurez l’option de mettre à jour tous vos paquets dans la nouvelle version de R.
-
Enfin – vous pouvez ouvrir le nouveau Rgui et fermer la session actuelle de votre ancien R. (Ceci est un peu bogué dans la version 0.8, mais a été corrigé dans la version 0.8.1)
Si vous savez que vous souhaitez mettre à niveau R, et que vous voulez que les paquets soient déplacés (pas copiés, MOVED), vous pouvez simplement exécuter :
# installing/loading the package:if(!require(installr)) { install.packages("installr"); require(installr)} #load / install+load installrupdateR(F, T, T, F, T, F, T) # install, move, update.package, quit R.
Puisque les différentes étapes sont divisées en fonctions individuelles, vous pouvez également choisir ce qu’il faut exécuter en utilisant la fonction correspondante :
# installing/loading the package:if(!require(installr)) { install.packages("installr"); require(installr)} #load / install+load installr# step by step functions:check.for.updates.R() # tells you if there is a new version of R or not.install.R() # download and run the latest R installercopy.packages.between.libraries() # copy your packages to the newest R installation from the one version before it (if ask=T, it will ask you between which two versions to perform the copying)
Si vous aimez utiliser le système de bibliothèque globale, vous pouvez exécuter ce qui suit dans l’ancien R:
# installing/loading the package:if(!require(installr)) { install.packages("installr"); require(installr)} #load / install+load installrupdateR(F, T, F, F, F, F, T) # only install R (if there is a newer version), and quits it.
Et ensuite exécuter ce qui suit dans la nouvelle version de R:
source("https://www.r-statistics.com/wp-content/uploads/2010/04/upgrading-R-on-windows.r.txt")New.R.RunMe()
Le paquet {installr} offre également des fonctions pour installer divers autres logiciels sur Windows. Ces fonctions comprennent : install.pandoc (qui a été mentionné sur ce blog récemment), install.git, install.Rtools, install.MikTeX, install.RStudio, et une fonction générale install.URL et install.packages.zip. Vous pouvez les voir expliquées plus en détail dans le manuel de référence du paquet.
Demandes de fonctionnalités, rapports de bogues – et votre aide pour améliorer le paquet
Vous pouvez voir la dernière version d’installr sur github, où vous pouvez également soumettre des rapports de bogues (vous pouvez aussi simplement laisser un commentaire dans ce post). Comme il s’agit de mon premier paquet R, il se peut que j’ai (par exemple : probablement) manqué quelque chose ici ou là. Donc tout commentaire sur la façon d’améliorer mon code/documentation/R-fu, sera le bienvenu (ici ou sur github).
Si ce type de codage est amusant/facile pour vous, vous pouvez m’aider à améliorer ce paquet sur github. Les nouvelles fonctionnalités cool que je pense pouvoir être ajoutées (par moi ou d’autres) sont :
- Ajouter une fonction uninstall.R – pour supprimer l’ancienne version de R.
- Ajouter plus de support pour la mise à niveau de R pour les personnes qui utilisent une bibliothèque globale pour leurs paquets.
- Ajouter un support pour Linux et Mac ! Celui-ci je suis moins susceptible de faire sur mon propre – et aimerait voir quelqu’un d’autre étendre mon code à d’autres systèmes d’exploitation.
- GUI – ajouter une option basée sur le menu pour exécuter updateR. Quelque chose comme help-> »check for updates » serait génial. (p.s : cette idée vient de Yihui Xie)
- Ajouter encore plus de fonctions install.software. Si vous avez des fonctions pour lesquelles vous aimeriez pouvoir les installer facilement – faites-le moi savoir et cela pourrait être inclus dans les prochaines versions.
Merci
Enfin, je voudrais remercier les nombreuses personnes qui ont développé des outils MAGNIFIQUES pour rendre le développement de paquets R possible (et même quelque peu rapide), sous Windows. Il s’agit notamment du professeur Brian Ripley et de Duncan Murdoch pour Rtools, mais aussi d’Uwe Ligges pour son travail sur le CRAN, de Hadley Wickham pour devtools (en général, et pour sa documentation), de Yihui Xie pour roxygen2, de JJ et des autres membres de l’équipe RStudio pour RStudio, des personnes derrière git et github, et bien d’autres encore. Il y a probablement plus de choses pour lesquelles je peux remercier ces personnes, et beaucoup d’autres personnes que je devrais remercier, mais je n’arrive pas à savoir qui vous êtes probablement (n’hésitez pas à m’envoyer un e-mail, j’apprécie votre travail même si je ne sais pas clairement qui vous êtes derrière).