style img htmloutput div r package tm

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.



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.