¿Cómo debo lidiar con la advertencia "el paquete 'xxx' no está disponible (para la versión R xyz)"?
Intenté instalar un paquete, usando
install.packages("foobarbaz")
pero recibió la advertencia
Warning message:
package 'foobarbaz' is not available (for R version x.y.z)
¿Por qué R no cree que el paquete esté disponible?
Consulte también estas preguntas que se refieren a casos específicos de este problema:
Mi paquete no funciona para R 2.15.2
paquete 'Rbbg' no está disponible (para R versión 2.15.2)
paquete no está disponible (para R versión 2.15.2)
paquete doMC NO disponible para R versión 3.0.0 advertencia en install.packages
La dependencia 'Rglpk' no está disponible para el paquete 'fPortfolio' ¿
Qué hacer cuando un paquete no está disponible para nuestra versión R?
¿El paquete bigvis para R no está disponible para la versión 3.0.1 de R?
El paquete 'syncwave'/'mvcwt' no está disponible (para R versión 3.0.2)
el paquete 'diamonds' no está disponible (para R versión 3.0.0)
¿El paquete plyr para R no está disponible para R versión 3.0.2?
El paquete bigmemory no se instala en R 64 3.0.2
El paquete "makeR" no está disponible (para la versión 3.0.2)
El paquete 'RTN' no está disponible (para R versión 3.0.1)
Problemas al instalar el paquete geoR El
paquete 'twitterR' no está disponible (para R versión 3.1.0) ¿
Cómo instalar el paquete 'Rcpp? Recibí "el paquete no está disponible",
el paquete 'conjunto de datos' no está disponible (para R versión 3.1.1)
"el paquete 'rhipe' no está disponible (para R versión 3.1.2)"
1. No puedes deletrear
Lo primero que debes comprobar es ¿has escrito correctamente el nombre del paquete? Los nombres de los paquetes distinguen entre mayúsculas y minúsculas en R.
2. No buscaste en el repositorio correcto
A continuación, debe verificar si el paquete está disponible. Tipo
setRepositories()
Véase también ?setRepositories .
Para ver qué repositorios buscará R para su paquete y, opcionalmente, seleccionar algunos adicionales. Como mínimo, normalmente querrás CRAN
que te seleccionen, y CRAN (extras)
si usas Windows, y los Bioc*
repositorios si realizas algún análisis biológico.
Para cambiar esto permanentemente, agregue una línea como setRepositories(ind = c(1:6, 8))
a su Rprofile.site
archivo.
3. El paquete no está en los repositorios que seleccionaste
Devuelve todos los paquetes disponibles usando
ap <- available.packages()
Consulte también Nombres de los paquetes disponibles de R , ?available.packages .
Dado que se trata de una matriz grande, es posible que desee utilizar el visor de datos para examinarla. Alternativamente, puede verificar rápidamente si el paquete está disponible probándolo con los nombres de las filas.
View(ap)
"foobarbaz" %in% rownames(ap)
Alternativamente, la lista de paquetes disponibles se puede ver en un navegador para CRAN , CRAN (extras) , Bioconductor , R-forge , RForge y GitHub .
Otro posible mensaje de advertencia que puede recibir al interactuar con los espejos CRAN es:
Warning: unable to access index for repository
Lo que puede indicar que el repositorio CRAN seleccionado no está disponible actualmente. Puede seleccionar un espejo diferente chooseCRANmirror()
e intentar la instalación nuevamente.
Hay varias razones por las que un paquete puede no estar disponible.
4. No quieres un paquete
Quizás realmente no quieras un paquete. Es común confundirse acerca de la diferencia entre un paquete y una biblioteca , o un paquete y un conjunto de datos.
Un paquete es una colección estandarizada de material que amplía R, por ejemplo, proporcionando código, datos o documentación. Una biblioteca es un lugar (directorio) donde R sabe encontrar paquetes que puede usar
Para ver los conjuntos de datos disponibles, escriba
data()
5. R o Bioconductor está desactualizado
Puede depender de una versión más reciente de R (o de uno de los paquetes que importa/de los que depende). Mira a
ap["foobarbaz", "Depends"]
y considere actualizar su instalación de R a la versión actual. En Windows, esto se hace más fácilmente a través del installr
paquete.
library(installr)
updateR()
(Por supuesto, es posible que tengas que hacerlo install.packages("installr")
primero).
De manera equivalente, para los paquetes de Bioconductor, es posible que necesite actualizar su instalación de Bioconductor.
source("http://bioconductor.org/biocLite.R")
biocLite("BiocUpgrade")
6. El paquete está desactualizado
Es posible que se haya archivado (si ya no se mantiene y ya no pasa R CMD check
las pruebas).
En este caso, puede cargar una versión antigua del paquete usandoinstall_version()
library(remotes)
install_version("foobarbaz", "0.1.2")
Una alternativa es instalar desde el espejo CRAN de GitHub.
library(remotes)
install_github("cran/foobarbaz")
7. No hay ningún binario de Windows/OS X/Linux
Es posible que no tenga un binario de Windows debido a que requiere software adicional que CRAN no tiene. Además, algunos paquetes están disponibles sólo a través de las fuentes para algunas o todas las plataformas. En este caso, puede haber una versión en el CRAN (extras)
repositorio (ver setRepositories
arriba).
Si el paquete requiere compilar código (por ejemplo, C, C++, FORTRAN), en Windows instale Rtools o en OS X, instale las herramientas de desarrollo que acompañan a XCode e instale la versión fuente del paquete a través de:
install.packages("foobarbaz", type = "source")
# Or equivalently, for Bioconductor packages:
source("http://bioconductor.org/biocLite.R")
biocLite("foobarbaz", type = "source")
En CRAN, puede saber si necesitará herramientas especiales para compilar el paquete desde el código fuente mirando la NeedsCompilation
bandera en la descripción.
8. El paquete está en GitHub/Bitbucket/Gitorious
Puede tener un repositorio en GitHub/Bitbucket/Gitorious. Estos paquetes requieren que el remotes
paquete se instale.
library(remotes)
install_github("packageauthor/foobarbaz")
install_bitbucket("packageauthor/foobarbaz")
install_gitorious("packageauthor/foobarbaz")
(Al igual que con installr
, es posible que tengas que hacerlo install.packages("remotes")
primero).
9. No existe una versión fuente del paquete.
Aunque la versión binaria de su paquete está disponible, la versión fuente no. Puede desactivar esta verificación configurando
options(install.packages.check.source = "no")
como se describe en esta respuesta SO de imanuelc y la sección Detalles de ?install.packages
.
10. El paquete está en un repositorio no estándar.
Su paquete está en un repositorio no estándar (por ejemplo Rbbg
). Suponiendo que cumpla razonablemente con los estándares CRAN, aún puede descargarlo usando install.packages
; sólo tienes que especificar la URL del repositorio.
install.packages("Rbbg", repos = "http://r.findata.org")
RHIPE
por otro lado, no está en un repositorio tipo CRAN y tiene sus propias instrucciones de instalación .
En R 3.2.3 (nuevo en 2016) había un error que en ocasiones impedía encontrar el paquete correcto. La solución es configurar el repositorio manualmente:
install.packages("lubridate", dependencies=TRUE, repos='http://cran.rstudio.com/')
Solución encontrada en otra pregunta.
Esta solución podría romper R, pero aquí hay una solución más sencilla que funciona el 99% de las veces.
Lo que necesitas hacer es simplemente:
install.packages('package-name',repos='http://cran.us.r-project.org')
Como lo menciona el autor aquí.
Parece haber un problema con algunas versiones de R
y libcurl
. Tuve el mismo problema en Mac (R version 3.2.2)
ambos Ubuntu (R version 3.0.2)
casos y se resolvió simplemente ejecutando esto antes del install.packages
comando
options(download.file.method = "wget")
La solución fue sugerida por un amigo, sin embargo, no pude encontrarla en ninguno de los foros, por lo que envío esta respuesta para otros.