2012-05-03 21 views
7

¿Es posible instalar un paquete en R con fuerza?Force install.packages()

> install.packages("gsubfn") 
Installing package(s) into ‘/home/sebastian/R/x86_64-unknown-linux-gnu-library/2.14’ 
(as ‘lib’ is unspecified) 
--- Please select a CRAN mirror for use in this session --- 
Loading Tcl/Tk interface ... done 
Warning message: 
In getDependencies(pkgs, dependencies, available, lib) : 
    package ‘gsubfn’ is not available (for R version 2.14.2) 

En este caso, el paquete requiere R> = 2.15 y solo tengo R 2.14.2. preguntándome si puedo hacer una instalación forzada.

+7

Descargue y descomprima la fuente, cambie el campo "Depende" en el archivo "DESCRIPCIÓN", luego compile/INSTALE el paquete ... simplemente no vuelva y pregunte por qué algo en el paquete no funciona. –

+2

también puede visitar el [archivo] (http://cran.r-project.org/src/contrib/Archive/gsubfn/) y encontrar compatibilidad retroactiva ... pero casi siempre escucho la advertencia de Joshua. – Justin

+3

Podría instalar forzosamente 2.15 – Dason

Respuesta

4

Descargue el paquete de la fuente. Descomprímelo y mueva la carpeta a la biblioteca (~/R/2.14/Library). Ir a su IDE y hacer un library(<package_name>)

Esto puede o no puede funcionar correctamente y que tienen más probabilidades de obtener un mensaje de advertencia similar diciendo que package <name> was built under R 2.14. Ignoralo. La mayoría de las funciones deberían funcionar. Tenga en cuenta, sin embargo, que puede haber algunas funciones que arrojan resultados divertidos, o ninguna, ya que pueden estar utilizando algunas características que no están en R 2.14.

Sin embargo, podría actualizar su versión R. Eso, IMO, es la mejor manera de hacerlo.

+0

Mover una versión descomprimida del origen del paquete directamente a la biblioteca no es la forma correcta de instalar un paquete. Para eso sirve 'R CMD INSTALL'. Sin embargo, como otros comentarios han notado, las restricciones en el archivo DESCRIPCIÓN tendrían que cambiarse y es probable que algo se rompa. –

+1

De acuerdo con usted en eso. La forma en que sugerí es stop-gap, o, como diría yo, 'Jugaad'. La mayoría no define la forma correcta de hacerlo. Sin embargo, si el OP necesita solo algunas funcionalidades, existe la posibilidad de que obtenga lo que necesita. – jackStinger

+0

Algún contexto en Jugaad: http://en.wikipedia.org/wiki/Jugaad – jackStinger