Instalación de una versión anterior del paquete R
Estoy intentando utilizar Rpy2 y ggplot2 pero aparece un error. Después de buscar un poco 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, consulte esta publicación (Editar: el enlace ya no está disponible)).
Ahora necesito instalar una versión anterior de ggplot2. Aquí hay un pseudocódigo para lo que quiero:
install.packages("ggplot2", version='0.9.1')
Pero install.packages
no tiene version
argumentos . ¿Cómo lo hago?
Para instalar una versión anterior de un paquete desde el código fuente (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 probablemente sea la falta de una cadena de herramientas adecuada para crear/compilar paquetes . Normalmente, instalaría un binario precompilado desde CRAN, pero solo archivan fuentes de paquetes , no binarios. [1] Esto significa que necesita instalar Rtools para poder compilar todo localmente. (Nota: Rtools no es un paquete R ).
La respuesta de @shadow a continuación también demuestra que puedes usar devtools::install_version()
. Esa también es una buena idea, pero también está sujeta a la necesidad de Rtools en Windows.
A partir del 18 de septiembre de 2015, apareció una nueva versión del paquete en CRAN . Esto se basa en el servidor MRAN de Revolution Analytics 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'))
Esto tiene la ventaja de no requerir que Rtools instale paquetes binarios en Windows, pero solo funciona desde el 17 de septiembre de 2014 (cuando se lanzó MRAN).
Para instalar una versión anterior desde la línea de comando (fuera de R):
También puede instalar un paquete usando R CMD INSTALL
la línea de comando (Terminal, Símbolo del sistema, etc.) una vez que tenga la 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 la 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, mencionada anteriormente, sobre la necesidad de una cadena de herramientas para crear paquetes).
[1] Esto ya no es del todo cierto. Desde marzo de 2016, CRAN comenzó a alojar un servidor "CRAN Archive" que contiene archivos binarios de Windows y Mac para versiones muy antiguas de R (> 5 años). Ahora puede instalar directamente desde este servidor usando install.packages()
. Consulte la nueva pregunta frecuente de R 7.44 para obtener algunos detalles.
El remotes
paquete ofrece una install_version
función que puede hacer esto directamente.
require(remotes)
install_version("ggplot2", version = "0.9.1", repos = "http://cran.us.r-project.org")
Anteriormente, esta respuesta apuntaba al devtools
paquete, que también reexporta la install_version
función. Gracias @MichaelChirico por señalar que remotes
es preferible el paquete.
install.packages
método puro
Vea este hilo en la lista de correo de r-devel . En respuesta a Kurt Wheeler, Kurt Hornik revela una característica no documentada del sitio web de CRAN para especificar la versión específica de un paquete.
Este método funcionará siempre que tengas todas las dependencias necesarias ya instaladas:
package = "https://cran.r-project.org/package=svglite&version=1.2.1"
utils::install.packages(pkgs = package, repos = NULL)
Tenga en cuenta la estructura de URL anterior. Esto soluciona el problema de que CRAN tiene una estructura de URL diferente para la última versión que para las versiones archivadas:
# 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
Otra opción es utilizar la remotes::install_version
función . Sin embargo, necesitarás instalar el remotes
paquete .