web-dev-qa-db-fra.com

Installation de l'ancienne version du package R

J'essaie d'utiliser Rpy2 et ggplot2 mais j'obtiens une erreur. Après avoir cherché l'erreur en ligne, j'ai constaté que l'erreur se produisait car certaines modifications apportées au paquet ggplot2 ne sont pas encore reflétées dans Rpy2 (par exemple, voir cet article (Édition: le lien est maintenant mort )).

Il me faut donc maintenant installer une ancienne version de ggplot2. Voici un pseudo-code pour ce que je veux:

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

Mais install.packages n'a pas de version argument . Comment fait-on ça?

115
hirolau

Pour installer une version plus ancienne d'un paquet depuis le source (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 en est probablement l'absence d'une chaîne d'outils appropriée pour la construction/compilation de packages . Normalement, vous devez installer un fichier binaire précompilé à partir de CRAN, mais ils archivent uniquement le package sources, pas les fichiers binaires.[1] Cela signifie que vous devez installer Rtools pour pouvoir tout compiler localement. (Remarque: Rtools n'est pas un package R .)

La réponse de @ shadow ci-dessous indique également que vous pouvez utiliser devtools::install_version(). C’est aussi une bonne idée, mais il est également nécessaire d’utiliser Rtools sous Windows.

À compter du 18 septembre 2015, n nouveau package , des versions sont apparues sur le CRAN . Cela repose sur le serveur Revolution Analytics MRAN pour installer les packages 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 a l'avantage de ne pas obliger Rtools à installer des packages binaires sous Windows, mais ne fonctionne que depuis le 2014-09-17 (au moment du lancement de MRAN).

Pour installer une version plus ancienne à 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 localement ("tarball") sur votre ordinateur, par exemple en utilisant wget (si tu l'as):

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

ou, si vous utilisez 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 à partir des archives du 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 plate-forme (avec la même mise en garde - comme ci-dessus - à propos du besoin d’une chaîne d’outils pour la construction de paquetages).


[1]Ce n'est plus tout à fait vrai. Depuis mars 2016, CRAN a commencé à héberger n serveur "CRAN Archive" contenant les fichiers binaires Windows et Mac pour les très anciennes versions de R (> 5 ans). Vous pouvez maintenant installer directement à partir de ce serveur en utilisant install.packages(). Voir new R FAQ 7.44 pour plus de détails.

134
Thomas

Le paquet devtools offre un install_version fonction qui peut le faire directement.

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

En utilisant install.packages comme décrit dans une autre réponse ne fonctionne pas pour moi.

La meilleure alternative que j'ai trouvée est d'utiliser la fonction install_url du paquet devtools.

Une autre possibilité que je n’ai pas explorée plus avant:

  1. Téléchargez l'ancien fichier source .tar.gz à partir des archives du paquet.
  2. Suivez les étapes documentées sur http://rtm.wustl.edu/writings/htrtargz.pdf pour l’installer localement.
5
asieira

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 packages >> Installer à partir de: (sélectionnez la liste déroulante)

Fichier archive du package (.Zip, .tar.gz).

Choisissez votre fichier récemment téléchargé et installez le paquet

4
user23899

Trouvé une bonne solution, qui a fonctionné pour moi (les détails sont à la lien ).

Commande dans la bibliothèque "repmis":

# Install old versions of the e1071 and gtools packages.

# Create vectors of the package names and versions to install
# Note the names and version numbers must be in the same order
Names <- c("e1071", "gtools")
Vers <- c("1.6", "2.6.1")

# Install old package versions into the default library
InstallOldPackages(pkgs = Names, versions = Vers)
4
Aybek Khodiev

Pure install.packages méthode

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

Cette méthode fonctionnera tant que toutes les dépendances requises seront déjà installées:

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

Notez la structure d'URL ci-dessus. Cela résout le problème selon lequel CRAN a une structure d'URL différente pour la dernière version par rapport aux 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éthode

Une autre option consiste à utiliser le remotes::install_versionfonction . Cependant, vous devrez installer le remotespackage .

1