InicioIntroducci贸nInstalar paquetes en R

Instalar paquetes en R

Instalar nuevos paquetes en R de diversas fuentes

Un paquete de R es una biblioteca de funciones que se han desarrollado para cubrir algunas necesidades o m茅todos cient铆ficos espec铆ficos que no est谩n implementados en las funciones de R base. Las funciones que R proporciona de manera predeterminada son limitadas, por lo que es posible que te preguntes c贸mo instalar nuevos paquetes en R. Hay varias fuentes para instalar paquetes en R. En este tutorial revisaremos c贸mo instalar un paquete en R de todas las maneras posibles.

Instalando paquetes desde CRAN

CRAN es el repositorio oficial de paquetes de R, que cuenta con miles de paquetes de R gratuitos. La mayor铆a de ellos han sido desarrollados por cient铆ficos de datos, estad铆sticos, profesores universitarios e investigadores. Hay todo tipo de paquetes, desde paquetes de gr谩ficos como el conocido ggplot2 hasta temas muy espec铆ficos como el paquete DTDA.cif, que implementa estimadores para funciones de incidencia acumuladas de riesgos competitivos bajo truncamiento doble.

CRAN es el repositorio oficial de R. Todos los paquetes han sido probados de manera autom谩tica y cumplen con la pol铆tica de c贸digo de CRAN.

En primer lugar, debes buscar el nombre del paquete que quieras instalar. Es posible que desees buscar sobre un tema buscando en Google algo como: ‘paquete de gr谩ficos R’ o ‘paquete de R para series de tiempo’. Tambi茅n puedes usar las CRAN Task Views, donde puedes encontrar los paquetes de R m谩s relevantes por tema.

隆Precauci贸n! Que un paquete est茅 en CRAN no implica que los m茅todos est茅n siempre bien implementados, ya que no hay comprobaciones de terceros sobre esto. Adem谩s, puede haber errores que no se hayan comprobado. En caso de que encuentres alg煤n tipo de error o problema contacta con el responsable del mantenimiento del paquete.

Funci贸n para instalar paquetes de R

Una vez hayas decidido qu茅 paquete instalar, simplemente ejecuta a la funci贸n install.packages con el nombre del paquete dentro de los par茅ntesis con comillas. Como ejemplo, vamos a instalar el paquete calendR, que permite crear calendarios mensuales y anuales, pero t煤 puedes probar a instalar el paquete que prefieras.

install.packages("calendR")

Despu茅s de la instalaci贸n, necesitas cargar el paquete si quieres acceder a sus funciones. Para ello puedes utilizar la funci贸n library especificando el nombre del paquete con o sin comillas.

library(calendR)
library("calendR") # Equivalente

Una vez cargado puedes usar la funci贸n help o ? con el nombre del paquete o el nombre de cualquier funci贸n para ver la documentaci贸n. Tambi茅n encontrar谩s ejemplos 煤tiles para comprender c贸mo funciona el paquete.

help("calendR")
help(calendR) # Equivalente
?calendR      # Equivalente

# Ayuda de la funci贸n principal del paquete
help(calendR) 

Adem谩s, en caso de que resulte de inter茅s, puedes saber d贸nde se instalan los paquetes ejecutando la funci贸n .libPaths().

 .libPaths() # Devuelve el directorio de instalaci贸n

Instalando paquetes de CRAN desde el men煤

Alternativamente, puedes instalar paquetes de R desde el men煤 del entorno de desarrollo.

  • En RStudio, ve a ToolsInstall packages... y en la opci贸n Install from, selecciona Repository (CRAN) y luego especifica los paquetes que quieras instalar.
  • En R GUI ve a PaquetesInstalar paquete(s)..., selecciona un ‘mirror’ e instala el paquete.

Instalando paquetes en R desde un zip

Es posible que hayas descargado un paquete en formato zip o tar.gz. Para instalar el paquete desde un archivo zip local solo necesitas llamar a la funci贸n install.packages con los argumentos repos = NULL y type = "source". Ten en cuenta que la ruta del archivo no debe contener espacios.

install.packages("ruta\\nombre_del_paquete.extension",
                 repos = NULL, type = "source")

Tambi茅n puedes configurar primero el entorno de trabajo con la funci贸n setwd en la carpeta donde se descarg贸 el archivo del paquete y luego instalar el paquete especificando el nombre del archivo zip o tar.gz.

setwd("ruta_del_archivo")
install.packages("nombre_del_paquete.extension",
                 repos = NULL, type = "source")

La 煤ltima opci贸n es usar el men煤. En RStudio ve a ToolsInstall packages y en la opci贸n Install from elige Package Archive File (.zip; .tar.gz) y selecciona tu archivo. En R GUI ve a PaquetesInstall package(s) from local files.

En caso de que tengas el zip alojado en alguna URL, puedes usar la funci贸n install.packages.zip del paquete installr. Ten en cuenta que tambi茅n puedes instalar paquetes desde CRAN (incluso versiones anteriores) de esta manera.

# install.packages("installr")

library(installr)
install.packages.zip("https://cran.r-project.org/bin/windows/contrib/r-release/calendR_1.0.zip")

Instalar varios paquetes a la vez

Si necesitas instalar varios paquetes a la vez sin escribir la misma funci贸n una y otra vez, puedes utilizar la funci贸n c dentro de la funci贸n install.packages. Ten en cuenta que ahora s铆 se necesita usar comillas para especificar el nombre de los paquetes.

install.packages(c("ggplot2", "dplyr"))

Ahora ya sabes c贸mo instalar paquetes de R desde CRAN, pero debes saber que no todos los paquetes de R est谩n en CRAN por muchas razones. La raz贸n principal es que CRAN tiene una pol铆tica de requisitos y comprobaciones de c贸digo y algunos desarrolladores no quieren pasar tiempo solucionando peque帽os detalles para cumplirlos. Otras veces existe una versi贸n de desarrollo en GitHub de un paquete de CRAN con funciones en pruebas. En las siguientes secciones aprender谩s c贸mo instalar paquetes de otras fuentes disponibles.

En las siguientes secciones mostraremos c贸mo instalar paquetes de fuentes no oficiales. Ten en cuenta que ciertos paquetes pueden estar en un proceso de desarrollo y podr铆an llegar a dar erores inesperados en algunas ocasiones.

Instalar paquetes de R desde GitHub o GitLab

GitHub es una conocida plataforma de intercambio de c贸digo. Si accedes a la p谩gina puedes buscar paquetes de R utilizando la barra de b煤squeda y escribiendo algo como: “plot package language: R” en caso de que desees buscar paquetes para gr谩ficos. La parte “language:R” es un comando del buscador de la web para restringir los resultados a repositorios de c贸digo R. Sup贸n que quieres descargar la versi贸n de desarrollo del paquete ggplot2 de GitHub. La direcci贸n URL ser谩 como sigue:

https://github.com/tidyverse/ggplot2

El primer paso es instalar y cargar el paquete devtools, disponible en CRAN. Si encuentras alg煤n error significa que tambi茅n necesitas instalar las RTools.

install.packages(devtools)
library(devtools)

A continuaci贸n puedes llamar a la funci贸n install_github con "nombre_de_la_cuenta/nombre_del_repositorio" como argumento para instalar el paquete desde GitHub.

 # Instalando el paquete ggplot2 desde GitHub
install_github("tidyverse/ggplot2")

Cabe mencionar que si no quieres cargar devtools cada vez que quieras instalar un paquete de GitHub, puede usar devtools::install_github("nombre_de_la_cuenta/nombre_del_repositorio"), ya que el operador :: permite llamar funciones desde un paquete sin la necesidad de cargarlo.

Instalar paquetes desde R-Forge

El proyecto R Forge es una web con herramientas de desarrollo de paquetes y repositorios. Como ejemplo, si quisieses instalar el paquete MPAgenomics, debes especificar en el argumento repos de la funci贸n install.packages la URL del proyecto de R Forge. El argumento dependencies se usa cuando repos no es NULL para especificar si las dependencias del paquete que se est谩 instalando deben ser instaladas tambi茅n o no.

install.packages("MPAgenomics", repos = "http://R-Forge.R-project.org",
                 dependencies = TRUE)

Instalar paquetes en R desde Bioconductor

Bioconductor es otro proyecto que aloja herramientas y paquetes de R para analizar datos biol贸gicos. Antes de nada tienes que instalar el paquete BiocManager.

install.packages("BiocManager")

Una vez instalado puedes usar la funci贸n install del paquete.

# Instalando el paquete nanotatoR
BiocManager::install("nanotatoR") 

Al igual que suced铆a con los paquetes de CRAN, pudes instalar varios paquetes a la vez.

# Instalando los paquetes NBSplice y ncdfFlow
BiocManager::install("NBSplice", "ncdfFlow") 

Puedes ver la lista completa de paquetes de Bioconductor escribiendo BiocManager::available(). Para m谩s informaci贸n sobre el proceso de instalaci贸n de Bioconductor puedes ver la referencia oficial sobre paquetes de Bioconductor.

Instalar paquetes de R en la Notebook de Jupyter

En el caso de que uses R bajo el entorno “conda” con el Notebook Jupyter y necesites m谩s paquetes de R que los inclu铆dos como “Essentials” puedes usar la funci贸n base para instalar paquetes pero especificando el argumento repos como en el siguiente ejemplo:

install.packages("ggplot2", repos = "http://cran.es.r-project.org")

Actualizar paquetes de R

Actualizar paquetes en R puede ser tedioso si tienes que reinstalar los paquetes una y otra vez cuando algunos tiene una versi贸n m谩s nueva disponible. Puedes ver la lista completa de tus paquetes de R que no est谩n actualizados con la funci贸n old.packages.

old.packages()

Puedes actualizar algunos de ellos manualmente con la funci贸n install.packages o llamando a la funci贸n update.packages. Si estableces el argumento ask como FALSE, evitar谩s que R muestre mensajes emergentes.

update.packages()
update.packages(ask = FALSE)
Solo podr谩s actualizar un paquete si no est谩 cargado en memoria. Si ya has cargado un paquete y deseas actualizarlo, usa la funci贸n detach de la siguiente manera: detach(package:nombre_del_paquete, unload = TRUE)

Listar las funciones de un paquete

Una vez instalado, puedes obtener una lista de todas las funciones del paquete. Si el paquete est谩 en CRAN, encontrar谩s documentaci贸n en formato PDF de todas las funciones dentro de una p谩gina con la siguiente estructura: https://cran.r-project.org/web/packages/nombre_del_paquete. Recuerda que puedes acceder a esta documentaci贸n en formato HTML con la funci贸n ? o help.

help(package = ggplot2)

Tambi茅n puedes usar los comandos lsf.str o ls para enumerar todas las funciones dentro de un paquete ya cargado.

library(ggplot2)
ls("package:ggplot2")      # Nombres de las funciones
lsf.str("package:ggplot2") # Nombres con descripci贸n de los argumentos

Otra opci贸n es escribir: nombre_del_paquete:: y se mostrar谩 una lista en RStudio en forma de desplegable. En R GUI deber谩s presionar el bot贸n tabular para que se muestren las funciones en pantalla, aunque es necesario destacar que si el paquete contiene muchas funciones no se mostrar谩n todas, como sucede con el paquete ggplot2:

> ggplot2::

ggplot2::scale_fill_brewer         ggplot2::scale_size
ggplot2::GeomLine                  ggplot2::ScaleContinuousIdentity
ggplot2::geom_boxplot              ggplot2::guide_legend
ggplot2::ScaleDiscreteIdentity     ggplot2::Layout
ggplot2::scale_colour_ordinal      ggplot2::geom_hex
ggplot2::GeomRasterAnn             ggplot2::panel_cols
ggplot2::scale_colour_date         ggplot2::StatYdensity
ggplot2::stat_bin_2d               ggplot2::scale_y_sqrt
ggplot2::aes_all                   ggplot2::alpha
ggplot2::scale_shape               ggplot2::position_dodge2
[...truncated]

Ver el c贸digo fuente de las funciones de un paquete

Puede que est茅s interesado en inspeccionar el c贸digo fuente de algunas funciones. Para ello tienes varias opciones:

  • Llamar el nombre de la funci贸n en la consola.
  • Presionar Ctrl + Click Izquierdo o Cmd + Click Izquierdo en el nombre del funci贸n (escrita en un script) cuando uses RStudio.
  • En la p谩gina de CRAN del paquete (o GitHub, R-forge, …), puedes descargar el archivo e inspeccionar manualmente el c贸digo.
Ten en cuenta que si la funci贸n est谩 escrita en Fortran, C o en un lenguaje diferente a R, no podr谩s ver el c贸digo con el primer y el segundo m茅todo.

Comprobar si un paquete est谩 instalado

Es habitual que no recuerdes si tienes un paquete instalado y no quieres perder el tiempo volvi茅ndolo a instalar. Para evitar esto puedes usar la funci贸n require. La principal diferencia entre require y library es que la primera devuelve un TRUE o FALSE y la segunda devuelve un error si el paquete no est谩 instalado. La funci贸n require est谩 dise帽ada para usarse dentro de otras funciones.

# Si FALSE, instala el paquete
if (require("ggplot2")) install.packages("ggplot2")

La siguiente l铆nea de c贸digo tambi茅n devolver谩 un TRUE si el paquete est谩 instalado o FALSE en caso contrario.

"ggplot2" %in% rownames(installed.packages())

Error en install.packages: no se puede eliminar la instalaci贸n previa del paquete

Si encuentras este error significa que podr铆as estar utilizando diferentes versiones de R en el mismo ordenador. Las soluciones son:

  • Cerrar todas las sesiones abiertas de R, abrirlo de nuevo e instalar el paquete.
  • Si lo anterior no funciona revisa el error y ve a la direcci贸n que se indica donde est谩 el archivo 00LOCK y elim铆nalo.
  • Otra opci贸n es usar la funci贸n .libPaths(), que devuelve la ruta donde est谩n instaladas las librer铆as y borra el paquete que da problemas para realizar una instalaci贸n limpia.

驴No consigues instalar un paquete?

Para finalizar, cabe destacar que si no consigues instalar paquetes en R puede ser debido a diversas razones:

  • Est谩s desconectado de internet.
  • El paquete ya no est谩 disponible. Puedes econtrar versiones antiguas con: https://cran.r-project.org/src/contrib/Archive/Nombre_del_paquete.
  • Has escrito mal el nombre del paquete. Recuerda que R distingue entre may煤sculas y min煤sculas.
  • Si se necesitan las Rtools para compilar el paquete, tendr谩s que instalarlas primero.

Si nada funciona, intenta cerrar y abrir R de nuevo, o int茅ntalo en otro ordenador para verificar si el problema persiste o se debe a tu configuraci贸n local.