img - Cómo determinar qué versión anterior del paquete R es compatible con mi versión R
tags$img shiny (4)
Estoy intentando instalar el paquete "tm" pero luego aparece un error que dice que "tm" no está disponible para mi versión R
package ‘tm’ is not available (for R version 3.0.2)
Pero luego vi que alguien sugirió que bajara la versión archivada de
http://cran.r-project.org/src/contrib/Archive/tm/?C=M;O=A
y luego intente instalar desde la fuente.
Mi pregunta es ¿cómo puedo determinar qué archivo de la lista es compatible con mi versión R?
He desarrollado una respuesta relacionada con el enfoque here , pero que utiliza solo la base R (no necesita XML
ni devtools
ni nada). También puede manejar algunas contingencias a las que la solución a la que me he referido no se pueden dirigir desde la otra pregunta. Como tenía alrededor de 100 líneas de código, en lugar de solo publicar una función enorme aquí, lo oldr
en un paquete que puedes obtener de GitHub aquí:
oldr
paquete de repositorio de GitHub
El paquete tiene una sola función exportada, install.compatible.packages()
. Lo he probado en Ubuntu 18.04. Instalé R 3.1.0 e instalé tm
(y sus dependencias). La versión actual de tm
requiere R 3.2.0, por lo que no estaría disponible a través de install.packages()
, pero mi función permite su instalación:
> oldr::install.compatible.packages("NLP")
Installing package into ‘/home/duckmayr/R/x86_64-unknown-linux-gnu-library/3.1’
(as ‘lib’ is unspecified)
* installing *source* package ‘NLP’ ...
** package ‘NLP’ successfully unpacked and MD5 sums checked
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
* DONE (NLP)
> oldr::install.compatible.packages("slam")
Installing package into ‘/home/duckmayr/R/x86_64-unknown-linux-gnu-library/3.1’
(as ‘lib’ is unspecified)
* installing *source* package ‘slam’ ...
** package ‘slam’ successfully unpacked and MD5 sums checked
** libs
gcc -I/opt/R/3.1.0/lib/R/include -DNDEBUG -I/usr/local/include -fpic -g -O2 -c apply.c -o apply.o
gcc -I/opt/R/3.1.0/lib/R/include -DNDEBUG -I/usr/local/include -fpic -g -O2 -c grouped.c -o grouped.o
gcc -I/opt/R/3.1.0/lib/R/include -DNDEBUG -I/usr/local/include -fpic -g -O2 -c sparse.c -o sparse.o
gcc -I/opt/R/3.1.0/lib/R/include -DNDEBUG -I/usr/local/include -fpic -g -O2 -c util.c -o util.o
gcc -shared -L/usr/local/lib -o slam.so apply.o grouped.o sparse.o util.o -L/opt/R/3.1.0/lib/R/lib -lRblas -lgfortran -lm -lquadmath -L/opt/R/3.1.0/lib/R/lib -lR
installing to /home/duckmayr/R/x86_64-unknown-linux-gnu-library/3.1/slam/libs
** R
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
* DONE (slam)
> oldr::install.compatible.packages("tm")
Installing package into ‘/home/duckmayr/R/x86_64-unknown-linux-gnu-library/3.1’
(as ‘lib’ is unspecified)
* installing *source* package ‘tm’ ...
** package ‘tm’ successfully unpacked and MD5 sums checked
** libs
gcc -I/opt/R/3.1.0/lib/R/include -DNDEBUG -I/usr/local/include -fpic -g -O2 -c copy.c -o copy.o
gcc -shared -L/usr/local/lib -o tm.so copy.o -L/opt/R/3.1.0/lib/R/lib -lR
installing to /home/duckmayr/R/x86_64-unknown-linux-gnu-library/3.1/tm/libs
** R
** data
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (tm)
Actualización: Pruebas en Windows
Ahora también tuve la oportunidad de probar en Windows (8.1), y todo funcionó sin problemas para instalar tm
en una versión anterior de R (v. 3.1.0):
> oldr::install.compatible.packages("NLP")
Installing package into ‘C:/Users/User/Documents/R/win-library/3.1’
(as ‘lib’ is unspecified)
trying URL ''http://mirror.las.iastate.edu/CRAN/bin/windows/contrib/3.1/NLP_0.1-9.zip''
Content type ''application/zip'' length 278699 bytes (272 Kb)
opened URL
downloaded 272 Kb
package ‘NLP’ successfully unpacked and MD5 sums checked
The downloaded binary packages are in
C:/Users/User/AppData/Local/Temp/RtmpojDNlF/downloaded_packages
> oldr::install.compatible.packages("slam")
Installing package into ‘C:/Users/User/Documents/R/win-library/3.1’
(as ‘lib’ is unspecified)
trying URL ''http://mirror.las.iastate.edu/CRAN/bin/windows/contrib/3.1/slam_0.1-32.zip''
Content type ''application/zip'' length 111528 bytes (108 Kb)
opened URL
downloaded 108 Kb
package ‘slam’ successfully unpacked and MD5 sums checked
The downloaded binary packages are in
C:/Users/User/AppData/Local/Temp/RtmpojDNlF/downloaded_packages
> oldr::install.compatible.packages("tm")
Installing package into ‘C:/Users/User/Documents/R/win-library/3.1’
(as ‘lib’ is unspecified)
trying URL ''http://mirror.las.iastate.edu/CRAN/bin/windows/contrib/3.1/tm_0.6-2.zip''
Content type ''application/zip'' length 710798 bytes (694 Kb)
opened URL
downloaded 694 Kb
package ‘tm’ successfully unpacked and MD5 sums checked
The downloaded binary packages are in
C:/Users/User/AppData/Local/Temp/RtmpojDNlF/downloaded_packages
Actualización: Parámetros adicionales
Ahora los usuarios pueden especificar qué versión de R intentará la instalación para (parámetro R_version
) y en qué directorio instalar los paquetes (parámetro lib
), lo que podría ser útil para realizar pruebas u otros fines.
Otra opción sería actualizar su versión de R para que sea compatible con la última versión del paquete "tm". Puedes hacerlo fácilmente dentro de R usando el siguiente código:
# install the latest installr package:
install.packages("installr")
# require the latest installr package:
require(installr)
#run the command to update R
updateR()
HT: http://www.r-statistics.com/2014/07/r-3-1-1-is-released-and-how-to-quickly-update-it-on-windows-os/
Puede descargar el paquete archivado y luego descomprimirlo y descomprimirlo. El archivo DESCRIPTION
muestra la versión de R que necesita. En su caso, el archivo tm_0.5-10.tar.gz
(es decir, la versión de archivo más reciente, pero no la versión actual) tiene esta línea:
Depends: R (>= 3.0.0)
La versión 0.6 del paquete tm actualizó su dependencia a R mayor o igual a 3.1.0.
Puedes usar el espejo METACRAN :
Vaya a la página de la culpa del archivo de DESCRIPTION
del paquete que le interesa.
Por ejemplo, para tm
: https://github.com/cran/tm/blame/master/DESCRIPTION
Busque la línea Depends
y haga clic tantas veces como sea necesario en Ver culpa antes de este icono de cambio , hasta que se muestre una versión R lo suficientemente antigua.
Si desea automatizar eso, puede ser mejor usar crandb (también de METACRAN).
Nota al margen : a veces, los autores de paquetes listan R (≥ xyz)
como una dependencia solo para estar seguros porque usan la versión xyz
y no hicieron ninguna prueba con versiones anteriores.