Paquete R

Extensiones del lenguaje de programación estadística R
una R grande y azul
Logotipo R

Los paquetes R son extensiones del lenguaje de programación estadística R. Los paquetes R contienen código, datos y documentación en un formato de colección estandarizado que los usuarios de R pueden instalar, generalmente a través de un repositorio de software centralizado como CRAN (Comprehensive R Archive Network). [1] [2] La gran cantidad de paquetes disponibles para R y la facilidad de instalación y uso se han citado como un factor importante que impulsa la adopción generalizada del lenguaje en la ciencia de datos . [3] [4] [5] [6]

En comparación con las bibliotecas de otros lenguajes de programación, los paquetes R deben cumplir con una especificación relativamente estricta. [3] El manual Writing R Extensions [7] especifica una estructura de directorio estándar para el código fuente, los datos, la documentación y los metadatos de los paquetes de R, lo que permite instalarlos y cargarlos utilizando las herramientas de gestión de paquetes integradas de R. [3] Los paquetes distribuidos en CRAN deben cumplir con estándares adicionales. [3] [8] Según John Chambers , si bien estos requisitos "imponen demandas considerables" a los desarrolladores de paquetes, mejoran la usabilidad y la estabilidad a largo plazo de los paquetes para los usuarios finales. [3]

Repositorios

Red integral de archivos R (CRAN)

Página de inicio básica del sitio web con texto principalmente en cuadros y enlaces en azul, con el título "The Comprehensive R Archive Network" en la parte superior y el logotipo del lenguaje de programación R en la esquina superior izquierda.
Página de inicio de la Red Integral de Archivos R (CRAN)

La Red Integral de Archivos R (CRAN) es el repositorio central de software de R , respaldado por la Fundación R. [9] Contiene un archivo de las versiones más recientes y anteriores de la distribución R, documentación y paquetes R contribuidos. [10] Incluye tanto paquetes fuente como binarios precompilados para Windows y macOS . [11] A noviembre de 2020 , hay más de 16.000 paquetes disponibles. [12] CRAN fue creado por Kurt Hornik y Friedrich Leisch en 1997, [13] [14] con el nombre en paralelo a otros sistemas de empaquetado tempranos como CTAN de TeX (lanzado en 1992) y CPAN de Perl (lanzado en 1995). [15] A partir de 2021 , todavía lo mantienen Hornik y un equipo de voluntarios. [9] El sitio maestro está ubicado en la Universidad de Economía y Negocios de Viena y está reflejado en servidores de todo el mundo. [10][actualizar][actualizar]

Página de inicio de las vistas de tareas de R CRAN

La página "Task Views" (lista de temas) del sitio web de CRAN [16] enumera una amplia gama de tareas (en campos como finanzas, genética, computación de alto rendimiento, aprendizaje automático, imágenes médicas, metaanálisis , ciencias sociales y estadísticas espaciales) para las que están disponibles los paquetes R. Otra forma de explorar los paquetes de CRAN es mediante Metacran [17] , que también mantiene listas de paquetes destacados, más descargados, de tendencia o de los que más se depende.

La cantidad de paquetes CRAN ha crecido exponencialmente durante muchos años, [18] y a partir de 2018 [actualizar]se realizaron un promedio de 21 envíos de paquetes nuevos o actualizados todos los días. [6] Dado que cada envío es revisado manualmente por un pequeño equipo de mantenedores de CRAN, muchos de los cuales, según el desarrollador principal de R Peter Dalgaard , se están "acercando a la edad de jubilación", existe la preocupación de que este sistema no sea sostenible a largo plazo. [6] El crecimiento de CRAN ha expuesto las limitaciones de su infraestructura de gestión de dependencias , en particular el hecho de que asume que las dependencias siempre se refieren a la última versión de un paquete, lo que significa que las nuevas versiones de los paquetes CRAN siempre deben ser compatibles con versiones anteriores , [19] y que los paquetes CRAN no pueden tener dependencias que no estén en CRAN. [20] También ha generado preocupaciones sobre la disminución de la calidad de los paquetes. [21]

Gestor de paquetes MRAN y Posit

Página de inicio de la red de aplicaciones Microsoft R (MRAN)

Microsoft R Application Network (MRAN) es un espejo de CRAN mantenido por Microsoft que se basa en la distribución descendente de R de la empresa, Microsoft R Open (anteriormente Revolution R Open). [22] También incluye un archivo de instantáneas diarias de CRAN, con la marca "CRAN Time Machine", que permite a los usuarios de MRAN eludir las limitaciones de versiones de dependencia de CRAN instalando un conjunto fijo de versiones de paquetes R a través del punto de control de paquetes. [23] [24] En enero de 2023, Microsoft anunció que MRAN se retiraría y que los sitios web y repositorios asociados dejarían de estar disponibles en julio de 2023. [25]

Página de inicio del administrador de paquetes Posit

El Posit Package Manager (anteriormente RStudio Package Manager) es una herramienta similar producida por los desarrolladores de RStudio que, además de instantáneas de CRAN, incluye un archivo de paquetes R de Bioconductor y paquetes Python del Python Package Index . [26] También distribuye paquetes binarios precompilados para Linux (solo los binarios de Windows y macOS están incluidos en CRAN). [27]

Otros repositorios

El proyecto Bioconductor ofrece paquetes R para el análisis de datos genómicos. Esto incluye herramientas de análisis y manejo de datos orientados a objetos para datos de Affymetrix , microarrays de ADNc y métodos de secuenciación de alto rendimiento de próxima generación . [28]

Página de inicio de R-Forge

R-Forge, [29] es una plataforma central para el desarrollo colaborativo de paquetes R, software relacionado con R y proyectos. R-Forge también aloja muchos paquetes beta no publicados y versiones de desarrollo de paquetes CRAN.

R se distribuye con quince "paquetes base": base, compilador, conjuntos de datos, grDevices, gráficos, cuadrícula, métodos, paralelo, splines, estadísticas, stats4, tcltk, herramientas, traducciones y utilidades. [30]

Además, hay quince "paquetes recomendados" de CRAN que se incluyen con las distribuciones binarias de R: KernSmooth, MASS, Matrix, boot, class, cluster, codetools, foreign, lattice, mgcv, nlme, nnet, rpart, strategic y survival. [30]

Otros paquetes

Un grupo de paquetes llamado tidyverse , que puede considerarse un "dialecto del lenguaje R", es cada vez más popular en el ecosistema R. Al 13 de junio de 2020, Metacran [17] incluyó 7 de los 8 paquetes principales de tidyverse en la lista de paquetes R más descargados. El grupo de paquetes se esfuerza por proporcionar una colección cohesiva de funciones para abordar tareas comunes de ciencia de datos, incluida la importación, limpieza, transformación y visualización de datos (en particular con el paquete ggplot2 ).

Los paquetes de infraestructura R [31] respaldan la codificación y el desarrollo de paquetes R y, al 4 de mayo de 2021, Metacran [17] enumera 16 de estos paquetes entre los 25 paquetes más descargados.

Véase también

Referencias

  1. ^ Hornik, Kurt (20 de febrero de 2020). "Preguntas frecuentes sobre R". The Comprehensive R Archive Network . 7.29: ¿Cuál es la diferencia entre paquete y biblioteca?. Archivado desde el original el 9 de julio de 2011. Consultado el 2 de noviembre de 2020 .{{cite web}}: Mantenimiento de CS1: ubicación ( enlace )
  2. ^ Wickham, Hadley; Bryan, Jennifer. "Introducción". Paquetes R (2.ª ed.). Archivado desde el original el 2022-06-29 . Consultado el 2020-11-02 .
  3. ^ abcde Chambers, John M. (2020). «S, R y ciencia de datos». The R Journal . 12 (1): 462–476. doi : 10.32614/RJ-2020-028 . ISSN  2073-4859. Archivado desde el original el 2020-11-01 . Consultado el 2020-11-02 .
  4. ^ Vance, Ashlee (6 de enero de 2009). "Los analistas de datos se sienten cautivados por el poder de R". New York Times . Archivado desde el original el 2 de mayo de 2021. Consultado el 2 de noviembre de 2020 .
  5. ^ Tippmann, Sylvia (29 de diciembre de 2014). "Herramientas de programación: aventuras con R". Nature News . 517 (7532): 109–110. doi : 10.1038/517109a . PMID  25557714.
  6. ^ abc Thieme, Nick (2018). "Generación R". Significancia . 15 (4): 14–19. doi : 10.1111/j.1740-9713.2018.01169.x . ISSN  1740-9713.
  7. ^ "Cómo escribir extensiones R". The Comprehensive R Archive Network . Archivado desde el original el 2020-11-12 . Consultado el 2020-11-02 .
  8. ^ "Política del repositorio de CRAN". Red integral de archivos R. Archivado desde el original el 5 de noviembre de 2020. Consultado el 2 de noviembre de 2020 .
  9. ^ ab CRAN Repository Maintainers. "Política del repositorio de CRAN". The Comprehensive R Archive Network . Proyecto R. Archivado desde el original el 11 de noviembre de 2020. Consultado el 20 de noviembre de 2020 .
  10. ^ ab Hornik, Kurt (2020-02-20). "Preguntas frecuentes sobre R". The Comprehensive R Archive Network . 2.1: ¿Qué es CRAN?: Proyecto R. Archivado desde el original el 2011-07-09 . Consultado el 20 de noviembre de 2020 .{{cite web}}: Mantenimiento de CS1: ubicación ( enlace )
  11. ^ Mantenedores del repositorio CRAN. «La red integral de archivos R». Proyecto R. Archivado desde el original el 23 de enero de 2019. Consultado el 20 de noviembre de 2020 .
  12. ^ Mantenedores del repositorio CRAN. «CRAN - Paquetes contribuidos». La red integral de archivos R. CRAN. Archivado desde el original el 24 de noviembre de 2020. Consultado el 20 de noviembre de 2020 .
  13. ^ Hornik, Kurt (23 de abril de 1997). "ANUNCIO: CRAN". r-announce (Lista de correo). Archivado desde el original el 8 de marzo de 2021. Consultado el 20 de noviembre de 2020 .
  14. ^ Thieme, Nick (2018). "Generación R". Significancia . 15 (4): 14–19. doi : 10.1111/j.1740-9713.2018.01169.x . ISSN  1740-9713.
  15. ^ Fitzgerald, Brian (9 de febrero de 2016). "Un estudio de los sistemas de paquetes de lenguajes de programación". Algunas cosas son obvias . Archivado desde el original el 9 de noviembre de 2020. Consultado el 4 de mayo de 2021 .
  16. ^ "Vistas de tareas de CRAN". cran.r-project.org . Archivado desde el original el 2011-07-09 . Consultado el 2018-09-16 .
  17. ^ abc "Metacran". Archivado desde el original el 20 de abril de 2021. Consultado el 4 de mayo de 2021 .
  18. ^ Asay, Matt (21 de abril de 2016). «El crecimiento exponencial de la comunidad de código abierto de R amenaza a los competidores comerciales». TechRepublic . Archivado desde el original el 26 de octubre de 2020 . Consultado el 2 de noviembre de 2020 .
  19. ^ Ooms, Jeroen (2013). "Posibles direcciones para mejorar el control de versiones de dependencias en R". The R Journal . 5 (1): 197–206. arXiv : 1303.2140 . doi : 10.32614/RJ-2013-019 . ISSN  2073-4859. S2CID  6791850. Archivado desde el original el 19 de septiembre de 2020 . Consultado el 2 de noviembre de 2020 .
  20. ^ Decan, A.; Mens, T.; Claes, M.; Grosjean, P. (2016). "Cuando GitHub se encuentra con CRAN: un análisis de los problemas de dependencia de paquetes entre repositorios". 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER) . Vol. 1. págs. 493–504. doi :10.1109/SANER.2016.12. ISBN 978-1-5090-1855-0. S2CID  16751624. Archivado desde el original el 16 de enero de 2021. Consultado el 12 de mayo de 2021 .
  21. ^ Hornik, Kurt (2012). "¿Hay demasiados paquetes R?". Revista austriaca de estadística . 41 (1): 59–66–59–66. doi : 10.17713/ajs.v41i1.188 . ISSN  1026-597X. Archivado desde el original el 26 de noviembre de 2020. Consultado el 2 de noviembre de 2020 .
  22. ^ "Bienvenido a MRAN". Microsoft R Application Network . Microsoft . Archivado desde el original el 4 de mayo de 2021 . Consultado el 4 de mayo de 2021 .
  23. ^ "Reproducibilidad: uso de instantáneas de repositorio CRAN fijas". Microsoft R Application Network . Microsoft . Archivado desde el original el 2 de mayo de 2021 . Consultado el 4 de mayo de 2021 .
  24. ^ Smith, David (22 de mayo de 2019). "Instantáneas de MRAN y usted". Revolutions . Revolution Analytics . Archivado desde el original el 4 de mayo de 2021 . Consultado el 4 de mayo de 2021 .
  25. ^ "Retiro de Microsoft R Application Network". techcommunity.microsoft.com . Consultado el 15 de noviembre de 2023 .
  26. ^ Lopp, Sean (7 de diciembre de 2020). «RStudio Package Manager 1.2.0 - Bioconductor & PyPI». Blog de RStudio . Archivado desde el original el 4 de mayo de 2021 . Consultado el 4 de mayo de 2021 .
  27. ^ Lopp, Sean (1 de julio de 2020). "Anuncio del administrador de paquetes público y la versión 1.1.6". Blog de RStudio . RStudio . Archivado desde el original el 4 de mayo de 2021 . Consultado el 4 de mayo de 2021 .
  28. ^ Huber, W; Carey, VJ; Gentleman, R ; Anders, S; Carlson, M; Carvalho, BS; Bravo, HC; Davis, S; Gatto, L; Girke, T; Gottardo, R; Hahne, F; Hansen, KD; Irizarry, RA ; Lawrence, M; Love, MI; MacDonald, J; Obenchain, V; Oleś, AK; Pagès, H; Reyes, A; Shannon, P; Smyth, GK; Tenenbaum, D; Waldron, L; Morgan, M (2015). "Orquestación de análisis genómico de alto rendimiento con Bioconductor". Nature Methods . 12 (2). Nature Publishing Group : 115–121. doi :10.1038/nmeth.3252. PMC 4509590 . Número de modelo:  PMID25633503. 
  29. ^ "R-Forge: Bienvenidos". Archivado desde el original el 14 de septiembre de 2018. Consultado el 16 de septiembre de 2018 .
  30. ^ ab Hornik, Kurt (20 de febrero de 2020). "Preguntas frecuentes sobre R". The Comprehensive R Archive Network . 5.1: ¿Qué paquetes complementarios existen para R?. Archivado desde el original el 9 de julio de 2011. Consultado el 2 de noviembre de 2020 .{{cite web}}: Mantenimiento de CS1: ubicación ( enlace )
  31. ^ "Infraestructura R". GitHub . Archivado desde el original el 2021-05-19 . Consultado el 2021-05-04 .

Lectura adicional

  • Claes, M.; Mens, T.; Grosjean, P. (2014). "Sobre la mantenibilidad de los paquetes CRAN". Semana de la evolución del software 2014 - Conferencia IEEE sobre mantenimiento de software, reingeniería e ingeniería inversa (CSMR-WCRE) . págs. 308–312. doi :10.1109/CSMR-WCRE.2014.6747183. ISBN 978-1-4799-3752-3.S2CID 17927576  .
  • Decan, Alexandre; Mens, Tom; Claes, Maelick; Grosjean, Philippe (7 de septiembre de 2015). "Sobre el desarrollo y la distribución de paquetes R". Actas de los talleres de la Conferencia Europea sobre Arquitectura de Software de 2015. ECSAW '15. Dubrovnik, Cavtat, Croacia: Association for Computing Machinery. págs. 1–6. doi :10.1145/2797433.2797476. ISBN 978-1-4503-3393-1.S2CID1680582  .
  • Fox, John (2009). "Aspectos de la organización social y trayectoria del proyecto R". The R Journal . 1 (2): 5–13. doi : 10.32614/RJ-2009-014 . ISSN  2073-4859.
  • Fox, John; Leanage, Allison (12 de septiembre de 2016). "R y la revista de software estadístico". Revista de software estadístico . 73 (1): 1–13. doi : 10.18637/jss.v073.i02 . ISSN  1548-7660.
  • Plakidas, Konstantinos; Schall, Daniel; Zdun, Uwe (2017). "Evolución del ecosistema de software R: métricas, relaciones y su impacto en las cualidades". Journal of Systems and Software . 132 : 119–146. doi :10.1016/j.jss.2017.06.095. ISSN  0164-1212.
  • La red integral de archivos R (CRAN)
  • METACRAN, un directorio de paquetes R
  • Vistas de tareas de CRAN, listado de paquetes de CRAN por temas
Obtenido de "https://es.wikipedia.org/w/index.php?title=Paquete_R&oldid=1235569923"