Instalación de una versión anterior del paquete R


Estoy intentando usar Rpy2 y ggplot2 pero recibo un error. Después de buscar el error en línea, descubrí que el error se produce porque hay cambios en el paquete ggplot2 que aún no se reflejan en Rpy2 (por ejemplo, vea este post (Editar: El enlace ahora está muerto)).

Así que ahora necesito instalar una versión anterior de ggplot2. Aquí está el pseudo-código para lo que quiero:

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

Pero install.packages no tiene un argumento version . ¿Cómo lo hago?

Author: Community, 2013-06-13

5 answers

Para instalar una versión anterior de un paquete desde el origen (dentro de 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 esto no funciona para usted y está en Windows, la razón es probablemente la falta de una cadena de herramientas adecuada para construir/compilar paquetes. Normalmente se instalaría un binario precompilado desde CRAN pero solo archivan paquetes fuentes, no binarios.[1] Esto significa que necesita instalar Rtools para que pueda compilar todo local. (Nota: Rtools no es un paquete R.)

@shadow's answer debajo de también hace el caso de que puedes usar devtools::install_version(). Eso también es una buena idea, pero también está sujeto a la necesidad de Rtools en Windows.

A partir del 18 de septiembre de 2015, un nuevo paquete versiones ha aparecido en CRAN. Esto se basa en el servidor Revolution Analytics MRAN para instalar paquetes para versiones o fechas específicas:

# 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'))

Que tiene la ventaja de no requerir Rtools para instalar paquetes binarios en Windows, pero solo funciona desde 2014-09-17 (cuando se lanzó MRAN).

Para instalar una versión anterior desde la línea de comandos (fuera de R):

También puede instalar un paquete usando R CMD INSTALL en la línea de comandos (Terminal, Símbolo del sistema, etc.) una vez que tenga el código fuente del paquete ("tarball") localmente en su máquina, por ejemplo usando wget (si lo tiene):

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

O, si estás en Windows, un equivalente usando PowerShell sería:

(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")

O simplemente puede descargar el código fuente del archivo CRAN a través de su navegador web.

Para instalar desde el archivo local, simplemente puede hacer:

R CMD INSTALL ggplot2_0.9.1.tar.gz

Eso debería funcionar en cualquier plataforma (con la misma advertencia - como la anterior - sobre la necesidad de una cadena de herramientas para construir paquetes).


[1]Esto ya no es del todo cierto. Desde marzo de 2016, CRAN ha comenzado a alojar un servidor "CRAN Archive" que contiene binarios de Windows y Mac para versiones muy antiguas de R (>5 años). Ahora puede instalar directamente desde este servidor usando install.packages(). Ver nueva R FAQ 7.44 para algunos detalles.

 114
Author: Thomas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:55:07

El paquete devtools ofrece una función install_version que puede hacer esto directamente.

require(devtools)
install_version("ggplot2", version = "0.9.1", repos = "http://cran.us.r-project.org")
 60
Author: shadow,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-24 07:07:25

Usar install.packages como se describe en otra respuesta no funciona para mí.

La mejor alternativa que encontré es usar la función install_url del paquete devtools.

Otra posibilidad que no he explorado más:

  1. Descarga el anterior.alquitrán.archivo fuente gz de los archivos del paquete.
  2. Siga los pasos documentados en http://rtm.wustl.edu/writings/htrtargz.pdf para instalarlo localmente.
 4
Author: asieira,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-03 03:14:49

Encontró una buena solución, que funcionó para mí (los detalles están en el enlace ).

Comando en la biblioteca" 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
Author: Aybek Khodiev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-09 12:45:04

Puede descargar su versión apropiada desde el enlace de abajo como un archivo zip.

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

En R Studio: Herramientas > > Instalar paquetes > > Instalar desde: (seleccionar desplegable)

Archivo de Archivo del Paquete(.Postal, .alquitrán.gz).

Elija el archivo zip del paquete recién descargado e instale el paquete

 3
Author: user23899,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-07 21:25:40