3 El ecosistema de los paquetes

3.1 Paquetes para la extensión y CRAN

La amplia gama de paquetes adicionales que amplían la funcionalidad del lenguaje R son uno de los mayores atractivos para los nuevos usuarios. El Proyecto R cuenta con varios grupos de trabajo internos, uno de los cuales es el’ CRAN Repository Maintainers’, que administra CRAN - o la “Red Integral de Archivos R”. CRAN es el punto donde los usuarios de R acuden para obtener estos paquetes adicionales.

El sitio web de CRAN contiene actualmente más de 12.000 paquetes para R. Estos paquetes son remitidos por la comunidad de usuarios y luego se comprueban exhaustivamente para detectar problemas comunes antes de ser publicados en el sitio web. R contiene una herramienta para descargar cualquier paquete que un usuario necesite e instalarlo listo para su uso. Los paquetes de este tipo pueden extender R de diversas maneras: desde añadir nuevos algoritmos de procesamiento de datos hasta proporcionar acceso a los conjuntos de datos públicos, o proporcionar a los usuarios de R una forma de crear sus propias APIs web, o ofrecer funciones simples para interactuar con las APIs públicas existentes. Las opciones son enormes.

Y no se queda ahí. Si trabajas en genómica hay una alternativa a CRAN, llamada Bioconductor que funciona de la misma manera, pero tiene casi 1500 paquetes específicos para ese campo. Además, también es posible instalar paquetes directamente desde GitHub, donde tiene lugar gran parte del desarrollo open-source de los paquetes R. Desde GitHub es posible instalar versiones de desarrollo de paquetes que tienen una versión estable en CRAN así como paquetes que el autor no ha enviado a CRAN.

El sitio principal de CRAN cuenta con una amplia lista de sitios espejo en todo el mundo, por lo que es posible utilizar uno que se encuentra cerca de tu ubicación física con el fin de distribuir la carga a través del sistema. Entre las réplicas más utilizadas, la más utilizada es cloud.r-project.org, que utiliza una CDN distribuida globalmente para garantizar un alto rendimiento y estabilidad. Además, Microsoft gestiona un sitio llamado MRAN (la “M” significa “Microsoft”), que es una instantánea diaria del sitio oficial de CRAN. Esto significa que puede usar MRAN para instalar los paquetes tal como lo habría hecho ayer o el mes o el año pasado. Esto puede ser una herramienta útil para facilitar la reproducibilidad.

3.2 Sistemas privados similares a CRAN

Además, de la CRAN pública, también es posible construir un sistema privado tipo CRAN. A menudo, las organizaciones utilizan este enfoque para publicar paquetes internos que contienen información comercialmente sensible que… no tendría sentido hacer públicos. Por ejemplo, un paquete que combine datos de sus sistemas de Recursos Humanos y Nómina, o un paquete que proporcione marca y estilos corporativos para gráficos y presentaciones, probablemente no sería de ninguna utilidad para nadie fuera de su organización, pero puede ser utilizado internamente por muchas personas. Por lo tanto, tener la última versión de ese paquete de fácil instalación desde un lugar central podría ser extremadamente útil para esta empresa.

Además, de publicar paquetes internos, también se puede utilizar un sistema CRAN privado cuando no sea posible el acceso a la CRAN pública completa. Esto es bastante común en las instalaciones basadas en servidor de R, donde el servidor no tiene acceso a la Internet pública, y por tanto al CRAN público. En estas situaciones, una opción es permitir el acceso a CRAN, pero muchas organizaciones optan por construir una versión interna más pequeña, alojando sólo aquellos paquetes que han sido aprobados para su uso dentro de la organización.

3.3 Tidyverse

No vamos a detenernos en paquetes específicos de esta guía, pero tidiverse merece una mención especial, debido a su uso generalizado y el protgonismo dentro de la comunidad. Tidyverse es una colección de paquetes populares y ampliamente utilizados reunidos bajo este rótulo paraguas. Los paquetes comparten una filosofía común en su diseño e implementación, así como sus objetivos. Hadley Wickham, director científico de RStudio, es el autor del paquete, supervisa al equipo que lo mantiene. La colección tidyverse es una característica común entre los paquetes instalados por muchos usuarios de R.