219 votes

Installation d'une ancienne version du paquet R

J'essaie d'utiliser Rpy2 et ggplot2 mais j'obtiens une erreur. Après avoir cherché l'erreur en ligne, j'ai trouvé que l'erreur se produit parce qu'il y a des changements dans le paquet ggplot2 qui ne sont pas encore reflétés dans Rpy2 (par exemple, voir ce poste (Edit : Link is now dead)).

Je dois donc maintenant installer une ancienne version de ggplot2. Voici le pseudo-code de ce que je veux :

install.packages("ggplot2", version='0.9.1')

Mais install.packages n'a pas de version argument . Comment dois-je m'y prendre ?

217voto

Thomas Points 14021

Pour installer une ancienne version d'un paquet à partir des sources (dans R) :

packageurl <- "http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_0.9.1.tar.gz"
install.packages(packageurl, repos=NULL, type="source")

Si cela ne fonctionne pas pour vous et que vous êtes sous Windows, la raison est probablement la suivante l'absence d'une chaîne d'outils appropriée pour la construction/compilation de paquets . Normalement, vous devriez installer un binaire précompilé à partir du CRAN, mais ils n'archivent que les paquets. sources et non des binaires. [1] Cela signifie que vous devez installer Rtools afin que vous puissiez tout compiler localement. (Note : Rtools n'est pas un paquet R .)

La réponse de @shadow en dessous de fait également valoir que vous pouvez utiliser devtools::install_version() . C'est aussi une bonne idée, mais elle est aussi sujette à la nécessité d'avoir Rtools sous Windows.

En date du 18 septembre 2015, un nouveau paquet versions est apparu sur CRAN . Cela repose sur le Revolution Analytics MRAN pour installer des paquets pour des versions ou des dates spécifiques :

# install yesterday's version of checkpoint, by date
install.dates('checkpoint', Sys.Date() - 1)

# install earlier versions of checkpoint and devtools
install.versions(c('checkpoint', 'devtools'), c('0.3.3', '1.6.1'))

Cela présente l'avantage de ne pas nécessiter l'installation de paquets binaires par Rtools sous Windows, mais ne fonctionne que depuis le 2014-09-17 (date de lancement du MRAN).

Pour installer une ancienne version à partir de la ligne de commande (en dehors de R) :

Vous pouvez également installer un paquet en utilisant R CMD INSTALL sur la ligne de commande (Terminal, Invite de commande, etc.) une fois que vous avez la source du paquet ("tarball") localement sur votre machine, par exemple en utilisant wget (si vous l'avez) :

wget http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_0.9.1.tar.gz

ou, si vous êtes sous Windows, un équivalent utilisant PowerShell serait :

(new-object System.Net.WebClient).DownloadFile("http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_0.9.1.tar.gz", "./ggplot2_0.9.1.tar.gz")

ou vous pouvez simplement télécharger la source depuis l'archive CRAN via votre navigateur web.

Pour installer à partir du fichier local, vous pouvez simplement faire :

R CMD INSTALL ggplot2_0.9.1.tar.gz

Cela devrait fonctionner sur n'importe quelle plateforme (avec la même réserve - comme ci-dessus - concernant la nécessité d'une chaîne d'outils pour la construction de paquets).


[1] Ce n'est plus tout à fait vrai. Depuis mars 2016, CRAN a commencé à héberger <a href="https://cran-archive.r-project.org/bin/" rel="noreferrer">un serveur "CRAN Archive </a>qui contient des binaires Windows et Mac pour de très anciennes versions de R (> 5 ans). Vous pouvez maintenant installer directement à partir de ce serveur en utilisant <code>install.packages()</code> . Voir nouveau <a href="https://cran.r-project.org/doc/FAQ/R-FAQ.html#How-can-I-get-CRAN-package-binaries-for-outdated-versions-of-R_003f" rel="noreferrer">R FAQ 7.44 </a>pour plus de détails.

154voto

shadow Points 5967

El remotes offre un install_version qui peut le faire directement.

require(remotes)
install_version("ggplot2", version = "0.9.1", repos = "http://cran.us.r-project.org")

Auparavant, cette réponse pointait vers le devtools qui ré-exporte également le install_version fonction. Merci @MichaelChirico d'avoir signalé que la fonction remotes est préférable.

12voto

Pure install.packages método

Voir ce fil de discussion sur la liste de diffusion r-devel . En réponse à Kurt Wheeler, Kurt Hornik révèle une fonctionnalité non documentée du site CRAN permettant de spécifier la version spécifique d'un paquet.

Cette méthode fonctionnera si vous avez déjà installé toutes les dépendances requises :

package = "https://cran.r-project.org/package=svglite&version=1.2.1"
utils::install.packages(pkgs = package, repos = NULL)

Notez la structure de l'URL ci-dessus. Cela répond au problème que CRAN a une structure d'URL différente pour la dernière version et pour les versions archivées :

# Latest version (not available at Archive/svglite)
https://cran.r-project.org/src/contrib/svglite_1.2.1.tar.gz
# Archived version
https://cran.r-project.org/src/contrib/Archive/svglite/svglite_1.2.0.tar.gz

remotes::install_version método

Une autre option consiste à utiliser le remotes::install_version fonction . Cependant, vous devrez installer le remotes paquet .

9voto

user23899 Points 81

Vous pouvez télécharger votre version appropriée à partir du lien ci-dessous sous forme de fichier zip.

http://cran.r-project.org/src/contrib/Archive/ggplot2/

Dans R Studio : Outils >> Installer les paquets >> Installer à partir de : (sélectionner la liste déroulante)

Fichier d'archive du paquet (.zip, .tar.gz).

Choisissez le fichier zip du paquet que vous venez de télécharger et installez le paquet.

6voto

EdM Points 151

Il existe un versions paquet qui simplifie considérablement cette tâche, pour les versions du paquet publiées depuis le 2014-09-17. Il utilise des instantanés du serveur MRAN de Revolution Analytics pour :

  • indiquer les dates de publication et la disponibilité du MRAN pour tout paquet CRAN ( available.versions ),

  • installer les versions spécifiées d'un ou plusieurs paquets( install.versions ), ou

  • installer les versions des paquets disponibles à une date donnée ( install.dates ). Il effectue l'installation à partir du serveur MRAN par le biais de la procédure standard d'installation de l'ordinateur. install.packages afin que les versions binaires disponibles puissent être installées au lieu de devoir compiler à partir des sources, et que les dépendances des paquets à la date spécifiée puissent être incluses.

Il peut bien sûr y avoir des problèmes de compatibilité avec des combinaisons de versions de paquets et de versions de R. Pour l'exécution de différentes versions de R, voir par exemple cette page .

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