Articulo de referencia

R (lenguaje de programación)

{{cite web |url=https://docs.julialang.org/en/stable/manual/introduction/#man-introduction-1 |title=Introduction |work=The Julia Manual |access-date=2018-08-05 |archive-url=http...

R es un lenguaje de programación para computación estadística y visualización de datos . Ha sido ampliamente adoptado en los campos de minería de datos , bioinformática , análisis de datos y ciencia de datos . [ 9 ]

El lenguaje R se complementa con una gran cantidad de paquetes de software que contienen código reutilizable , documentación y datos de ejemplo. Algunos de los paquetes de R más populares se encuentran en la colección tidyverse , que mejora la funcionalidad para visualizar, transformar y modelar datos, además de facilitar la programación (según los autores y usuarios). [ 10 ]

R es software libre y de código abierto distribuido bajo la Licencia Pública General de GNU . [ 3 ] [ 11 ] El lenguaje está implementado principalmente en C , Fortran y el propio R. Hay ejecutables precompilados disponibles para los principales sistemas operativos ( incluidos Linux , MacOS y Microsoft Windows ).

Su núcleo es un lenguaje interpretado con una interfaz de línea de comandos nativa . Además, existen múltiples aplicaciones de terceros disponibles como interfaces gráficas de usuario ; entre ellas se incluyen RStudio (un entorno de desarrollo integrado ), Jupyter (una interfaz de cuaderno ), así como Termux y Google Colab para dispositivos móviles. [ 12 ]

Historia

Co-creadores del lenguaje R

R fue creado por los profesores Ross Ihaka y Robert Gentleman como un lenguaje de programación para enseñar estadística introductoria en la Universidad de Auckland . [ 13 ] El lenguaje se inspiró en el lenguaje de programación S , y la mayoría de los programas de S se pueden ejecutar sin modificaciones en R. [ 6 ] El lenguaje también se inspiró en el alcance léxico de Scheme , lo que permite el uso de variables locales . [ 1 ]

El nombre del lenguaje, R, proviene tanto de ser un sucesor del lenguaje S como de la primera letra compartida de los autores, Ross y Robert. [ 14 ] En agosto de 1993, Ihaka y Gentleman publicaron un archivo binario de R en StatLib, un sitio web de archivo de datos. [ 15 ] Al mismo tiempo, anunciaron la publicación en la lista de correo s-news . [ 16 ] El 5 de diciembre de 1997, R se convirtió en un proyecto GNU cuando se lanzó la versión 0.60. [ 17 ] El 29 de febrero de 2000, se lanzó la versión 1.0. [ 18 ]

Paquetes

Consulte el pie de foto.
Un diagrama de violín creado con el paquete ggplot2 de R para la visualización de datos.

Los paquetes de R son colecciones de funciones, documentación y datos que amplían R. [ 19 ] Por ejemplo, los paquetes pueden añadir funciones de generación de informes (utilizando paquetes como R Markdown , Quarto, [ 20 ] knitr y Sweave ) y soporte para diversas técnicas estadísticas (como modelado lineal , lineal generalizado y no lineal , pruebas estadísticas clásicas , análisis espacial , análisis de series temporales y agrupamiento ). La facilidad de instalación y uso de los paquetes ha contribuido a la adopción del lenguaje en la ciencia de datos . [ 21 ]

Disponibles inmediatamente al iniciar R después de la instalación, los paquetes base proporcionan la sintaxis y los comandos fundamentales y necesarios para la programación, la computación, la producción de gráficos, la aritmética básica y la funcionalidad estadística. [ 22 ]

Un ejemplo es la colección de paquetes R tidyverse , que agrupa varios paquetes subsidiarios para proporcionar una API común . La colección se especializa en tareas relacionadas con el acceso y el procesamiento de " datos ordenados " [ 23 ] , que son datos contenidos en una tabla bidimensional con una sola fila para cada observación y una sola columna para cada variable [ 24 ] .

La instalación de un paquete se realiza solo una vez. Por ejemplo, para instalar la colección tidyverse: [ 24 ]

> instalar.paquetes ( "tidyverse" )

Para cargar las funciones, los datos y la documentación de un paquete, se llama a la library()función. Para cargar la colección tidyverse, se puede ejecutar el siguiente código: [ a ]

> # El nombre del paquete puede ir entre comillas > library ( "tidyverse" )> # Pero el nombre del paquete también se puede usar sin comillas > library ( tidyverse )

La Red Integral de Archivos de R (CRAN) fue fundada en 1997 por Kurt Hornik y Friedrich Leisch para alojar el código fuente , los archivos ejecutables, la documentación y los paquetes creados por los usuarios de R. [ 25 ] El nombre y el alcance de CRAN imitan a la Red Integral de Archivos de TeX (CTAN) y a la Red Integral de Archivos de Perl (CPAN). [ 25 ] Originalmente, CRAN solo tenía tres sitios espejo y doce paquetes aportados. [ 26 ] A fecha de 30 de junio de 2025  , tiene 90 espejos [ 27 ] y 22 390 paquetes aportados. [ 28 ] Los paquetes también están disponibles en repositorios como R-Forge, Omegahat y GitHub . [ 29 ] [ 30 ] [ 31 ]

Para ofrecer orientación en el sitio web de CRAN, su sección de Vistas de tareas enumera los paquetes relevantes para temas específicos; algunos ejemplos de temas incluyen inferencia causal , finanzas , genética , computación de alto rendimiento , aprendizaje automático , imágenes médicas , metaanálisis , ciencias sociales y estadística espacial .

El proyecto Bioconductor proporciona paquetes para el análisis de datos genómicos , ADN complementario , microarrays y métodos de secuenciación de alto rendimiento .

Comunidad

El Consorcio R es uno de los tres grupos principales que dan soporte a R.

Existen tres grupos principales que brindan apoyo al desarrollo de software R:

The R Journal es una revista académica de acceso abierto que publica artículos de extensión corta a media sobre el uso y desarrollo de R. La revista incluye artículos sobre paquetes, consejos de programación, noticias de CRAN y noticias de la fundación.

La conferencia UseR! es un lugar donde la comunidad de R puede reunirse.

La comunidad R organiza numerosas conferencias y encuentros presenciales. [ b ] Estos grupos incluyen:

  • UseR!: una conferencia internacional anual de usuarios de R ( sitio web )
  • Direcciones en Computación Estadística (DSC) ( sitio web )
  • R-Ladies : una organización para promover la diversidad de género en la comunidad R ( sitio web )
  • SatRdays: Conferencias centradas en R que se celebran los sábados ( sitio web )
  • Conferencias sobre Ciencia de Datos e IA ( sitio web )
  • posit::conf (anteriormente conocido como rstudio::conf) ( sitio web )
  • uRos: una conferencia anual sobre el uso de R en las estadísticas oficiales ( sitio web )

En redes sociales como Twitter, el hashtag #rstatsse puede usar para seguir los nuevos desarrollos en la comunidad R. [ 33 ]

Ejemplos

¡Hola Mundo!

El siguiente es un programa "¡Hola, mundo!" :

> imprimir ( "Hola, mundo!" ) [1] "Hola, mundo!"

Aquí hay una versión alternativa que utiliza la cat()función:

> gato ( "¡Hola, mundo!" ) ¡Hola, mundo!

Sintaxis básica

Los siguientes ejemplos ilustran la sintaxis básica del lenguaje y el uso de la interfaz de línea de comandos. [ c ]

En R, el operador de asignación generalmente preferido es una flecha formada por dos caracteres <-, aunque =puede utilizarse en algunos casos. [ 34 ]

> x <- 1 : 6 # Crea un vector numérico en el entorno actual > y <- x ^ 2 # De forma similar, crea un vector basado en los valores de x. > y # Imprime el contenido del vector. [1] 1 4 9 16 25 36> z <- x + y # Crea un nuevo vector que es la suma de x e y > z # Devuelve el contenido de z al entorno actual. [1] 2 6 12 20 30 42> z_matrix <- matrix ( z , nrow = 3 ) # Crea una nueva matriz que transforma el  # vector z en un objeto de matriz de 3x2 > z_matrix  [,1] [,2] [1,] 2 20 [2,] 6 30 [3,] 12 42> 2 * t ( z_matrix ) - 2 # Transponer la matriz; multiplicar cada elemento por 2;  # restar 2 a cada elemento de la matriz; y  # luego devolver los resultados a la terminal.  [,1] [,2] [,3] [1,] 2 10 22 [2,] 38 58 82# Crea un nuevo objeto dataframe que contiene los datos de una matriz z transpuesta, con nombres de fila 'A' y 'B'. > new_df <- data.frame ( t ( z_matrix ), row.names = c ( "A" , "B" )) > names ( new_df ) <- c ( "X" , "Y" , "Z" ) # Establece los nombres de columna del dataframe new_df como X, Y y Z. > new_df # Imprime los resultados actuales.  XYZ A 2 6 12 B 20 30 42> new_df $ Z # Muestra la columna Z [1] 12 42> new_df $ Z == new_df [ 'Z' ] && new_df [ 3 ] == new_df $ Z # Se puede acceder a la columna Z del dataframe usando la sintaxis $Z, ['Z'] o [3], y los valores son los mismos. [1] VERDADERO> atributos ( new_df ) # Imprime información sobre los atributos del dataframe new_df $names [1] "X" "Y" "Z"$row.names [1] "A" "B"$class [1] "data.frame"> atributos ( new_df ) $ row.names <- c ( "uno" , "dos" ) # Acceder y luego cambiar el atributo row.names; esto también se puede hacer usando la función rownames() > new_df  XYZ uno 2 6 12 dos 20 30 42

Estructura de una función

R puede crear funciones que añaden nueva funcionalidad y permiten la reutilización del código. [ 35 ] Los objetos creados dentro del cuerpo de la función (que están encerrados entre llaves) siguen siendo accesibles solo desde dentro de la función, y se puede devolver cualquier tipo de dato . En R, casi todas las funciones y todas las funciones definidas por el usuario son cierres . [ 36 ]

El siguiente es un ejemplo de cómo crear una función para realizar un cálculo aritmético:

# Los parámetros de entrada de la función son x e y. # La función, llamada f, devuelve una combinación lineal de x e y. f <- function ( x , y ) { z <- 3 * x + 4 * y# Una instrucción return() explícita es opcional; en este caso, podría reemplazarse simplemente con `z`. return ( z ) }# Como alternativa, la última instrucción ejecutada en una función se devuelve implícitamente. f <- function ( x , y ) 3 * x + 4 * y

A continuación se muestra parte del resultado de usar la función definida anteriormente:

> f ( 1 , 2 ) # 3 * 1 + 4 * 2 = 3 + 8 [1] 11> f ( c ( 1 , 2 , 3 ), c ​​( 5 , 3 , 4 )) # Cálculo elemento a elemento [1] 23 18 25> f ( 1 : 3 , 4 ) # Equivalente a f(c(1, 2, 3), c(4, 4, 4)) [1] 19 22 25

Es posible definir funciones para ser utilizadas como operadores infijos mediante la sintaxis especial `%name%`, donde "nombre" es el nombre de la variable de la función:

> `%sumx2y2%` <- función ( e1 , e2 ) { e1 ^ 2 + e2 ^ 2 } > 1 : 3 %sumx2y2% - ( 1 : 3 ) [1] 2 8 18

Desde la versión 4.1.0 de R, las funciones se pueden escribir en una notación corta (inspirada en el cálculo lambda ), que es útil para pasar funciones anónimas a funciones de orden superior: [ 37 ]

> aplicar ( 1 : 5 , \ ( i ) i ^ 2 ) # aquí \(i) es lo mismo que function(i) [1] 1 4 9 16 25

Operador de tuberías nativo

En la versión 4.1.0 de R, se introdujo un operador de tubería nativo , , . [ 38 ] Este operador permite a los usuarios encadenar funciones, en lugar de utilizar llamadas a funciones anidadas.|>

> nrow ( subset ( mtcars , cyl == 4 )) # Anidado sin el carácter de barra vertical [1] 11> mtcars |> subset ( cyl == 4 ) |> nrow () # Usando el carácter de tubería [1] 11

Una alternativa a las funciones anidadas es el uso de objetos intermedios, en lugar del operador de tubería:

> mtcars_subset_rows <- subset ( mtcars , cyl == 4 ) > num_mtcars_subset <- nrow ( mtcars_subset_rows ) > print ( num_mtcars_subset ) [1] 11

Aunque el operador de tubería puede producir código más fácil de leer, programadores influyentes de R como Hadley Wickham sugieren encadenar como máximo 10-15 líneas de código usando este operador y guardarlas en objetos con nombres significativos para evitar la ofuscación del código . [ 39 ]

Programación orientada a objetos

El lenguaje R cuenta con soporte nativo para la programación orientada a objetos . Existen dos marcos de trabajo nativos , los denominados sistemas S3 y S4. El primero, al ser más informal, admite el despacho único en el primer argumento, y los objetos se asignan a una clase simplemente estableciendo un atributo "class" en cada objeto. El segundo es un sistema similar al Common Lisp Object System (CLOS) , con clases formales (también derivadas de S ) y métodos genéricos, que admite despacho múltiple y herencia múltiple [ 40 ].

En el ejemplo siguiente, summary()se muestra una función genérica que despacha a diferentes métodos dependiendo de si su argumento es un vector numérico o un factor :

> datos <- c ( "a" , "b" , "c" , "a" , NA ) > resumen ( datos )  Longitud Clase Modo  5 carácter carácter > resumen ( as.factor ( datos ))  abc NA's  2 1 1 1

Modelado y representación gráfica

Gráficos de diagnóstico para el modelo del código de ejemplo en la sección "Modelado y gráficos" (véase la plot.lm()función). Se permite el uso de notación matemática en las etiquetas, como se muestra en el gráfico inferior izquierdo.

El lenguaje R cuenta con soporte integrado para el modelado de datos y la representación gráfica. El siguiente ejemplo muestra cómo R puede generar y graficar un modelo lineal con residuos.

# Crear valores x e y x < - 1 : 6 y <- x ^ 2# Modelo de regresión lineal: y = A + B * x model <- lm ( y ~ x )# Mostrar un resumen detallado del modelo ( modelo )# Crea un diseño de 2x2 para figuras par ( mfrow = c ( 2 , 2 ))# Generar gráficos de diagnóstico del modelo plot ( model )

La salida de la summary()función en el bloque de código anterior es la siguiente:

Residuos:  1 2 3 4 5 6 7 8 9 10 3.3333 -0.6667 -2.6667 -2.6667 -0.6667 3.3333Coeficientes:  Estimación Error estándar Valor t Pr(>|t|) (Intercepto) -9.3333 2.8441 -3.282 0.030453 * x 7.0000 0.7303 9.585 0.000662 *** --- Códigos de significancia: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1Error estándar residual: 3,055 con 4 grados de libertad. R cuadrado múltiple: 0,9583, R cuadrado ajustado: 0,9478. Estadístico F: 91,88 con 1 y 4 GL, valor p: 0,000662.

Conjunto de Mandelbrot

Un conjunto de Mandelbrot visualizado en R. (Nota: Los colores de esta imagen difieren de los del código de ejemplo de la sección "Conjunto de Mandelbrot").

Este ejemplo de un conjunto de Mandelbrot resalta el uso de números complejos . Modela las primeras 20 iteraciones de la ecuación , donde representa diferentes constantes complejas .z = z2 + cc

Para ejecutar este código de ejemplo, primero es necesario instalar el paquete que proporciona la write.gif()función:

instalar.paquetes ( "caTools" )

El código de ejemplo es el siguiente:

biblioteca ( caTools )jet.colors <- colorRampPalette ( c ( "verde" , "rosa" , "#007FFF" , "cian" , "#7FFF7F" , "blanco" , "#FF7F00" , "rojo" , "#7F0000" ))dx <- 1500 # define el ancho dy <- 1400 # define la alturaC <- complex ( real = rep ( seq ( -2.2 , 1.0 , length.out = dx ), each = dy ), imag = rep ( seq ( -1.2 , 1.2 , length.out = dy ), times = dx ) )# Reestructurar como una matriz de números complejos C <- matrix ( C , dy , dx )# Inicializar la matriz 3D de salida X <- array ( 0 , c ( dy , dx , 20 ))Z <- 0# bucle con 20 iteraciones para ( k en 1 : 20 ) {# La ecuación de diferencias centrales Z <- Z ^ 2 + C# capturar los resultados X [, , k ] <- exp ( - abs ( Z )) }escribir.gif ( X , "Mandelbrot.gif" , col = jet.colors , delay = 100 )

Nombres de versión

Un CD con autógrafos
Un CD de R versión 1.0.0, autografiado por el equipo principal de R, fotografiado en la ciudad de Quebec en 2019.

Todas las versiones de R a partir de la 2.14.0 tienen nombres en clave que hacen referencia a los cómics y películas de Peanuts . [ 41 ] [ 42 ] [ 43 ]

En 2018, el desarrollador principal de R, Peter Dalgaard, presentó un historial de versiones de R desde 1997. [ 44 ] Algunas versiones tempranas notables anteriores a las versiones mencionadas incluyen las siguientes:

  • Versión 1.0.0, publicada el 29 de febrero de 2000, día bisiesto.
  • Versión 2.0.0, publicada el 4 de octubre de 2004, "que al menos sonaba bien" [ 44 ].

La idea de nombrar las versiones de R se inspiró en el sistema de nombres de las versiones de Debian y Ubuntu . Dalgaard señaló una razón adicional para el uso de referencias a Peanuts en los nombres en clave de R: la observación humorística de que "todos en estadística son fanáticos de Peanuts ". [ 44 ]

Interfaces

R se instala con una consola de línea de comandos por defecto, pero existen múltiples formas de interactuar con el lenguaje:

Entre los marcos estadísticos que utilizan R como base se incluyen Jamovi y JASP .

Implementaciones

La implementación principal de R está escrita principalmente en C , Fortran y el propio R. Otras implementaciones incluyen las siguientes:

Microsoft R Open (MRO) era una implementación de R. A partir del 30 de junio de 2021, Microsoft comenzó a eliminar gradualmente MRO en favor de la distribución CRAN. [ 50 ]

Soporte comercial

Aunque R es un proyecto de código abierto , algunas empresas ofrecen soporte comercial:

  • Oracle ofrece soporte comercial para su Big Data Appliance , que integra R en sus otros productos.
  • IBM ofrece soporte comercial para la ejecución de R dentro de Hadoop .

Véase también

Notas

  1. Este código muestra en la salida de error estándar una lista de todos los paquetes de los que depende la colección tidyverse. También puede mostrar advertencias sobre conflictos de espacios de nombres, que normalmente se pueden ignorar.
  2. La información sobre conferencias y reuniones está disponible en una lista mantenida por la comunidad en GitHub, jumpingrivers .github .io /meetingsR /
  3. ↑ Puede encontrar una lista ampliada de características estándar del lenguaje en el manual " Introducción a R " , cran.r-project.org/doc/manuals/R-intro.pdf

Referencias

  1. 1 2 3 Morandat, Frances; Hill, Brandon; Osvald, Leo; Vitek, Jan (11 de junio de 2012). "Evaluación del diseño del lenguaje R: objetos y funciones para el análisis de datos" . Conferencia Europea sobre Programación Orientada a Objetos . 2012 : 104–131 . doi : 10.1007/978-3-642-31057-7_6 . Recuperado el 17 de mayo de 2016 a través de SpringerLink.
  2. Peter Dalgaard (24 de junio de 2026). " [ Rd ] R 4.6.1 ha sido publicado" . Consultado el 29 de junio de 2026 .
  3. 1 2 "R - Directorio de Software Libre" . directory.fsf.org . Consultado el 26 de enero de 2024 .
  4. "Scripts de R" . mercury.webster.edu . Consultado el 17 de julio de 2021 .
  5. "Familia de formatos de datos R (.rdata, .rda)" . Loc.gov . 9 de junio de 2017. Consultado el 17 de julio de 2021 .
  6. 1 2 Hornik, Kurt; El equipo central de R (12 de abril de 2022). "Preguntas frecuentes sobre R" . La red integral de archivos de R. 3.3 ¿Cuáles son las diferencias entre R y S? Archivado del original el 28 de diciembre de 2022. Recuperado el 27 de diciembre de 2022 .
  7. "Introducción" . El Manual de Julia . Archivado del original el 20 de junio de 2018. Consultado el 5 de agosto de 2018 .
  8. "Comparación con R" . Primeros pasos con pandas . Consultado el 15 de julio de 2024 .
  9. Giorgi, Federico M.; Ceraolo, Carmine; Mercatelli, Daniele (27 de abril de 2022). "El lenguaje R: un motor para la bioinformática y la ciencia de datos" . Life . 12 ( 5): 648. Bibcode : 2022Life...12..648G . doi : 10.3390/life12050648 . PMC 9148156. PMID 35629316 .  
  10. "Inicio - RDocumentation" . www.rdocumentation.org . Consultado el 13 de junio de 2025 .
  11. "R: ¿Qué es R?" . www.r-project.org . Consultado el 10 de mayo de 2025 .
    • Conor I., Anderson (8 de julio de 2018). "Instalación de R en Android a través de Termux" . Conor I. Anderson . Recuperado el 12 de diciembre de 2025 .
    • Quintana Denis, José Armando (2025). "Análisis de datos en R utilizando Google Colab" . Escuela Politécnica Superior . Universidad de Alcalá.
    • Hewitt, Christopher (1 de abril de 2024). "Explorando datos geoespaciales canadienses con GeoPandas en cuadernos de Colab" . Boletín - Asociación de Bibliotecas y Archivos Cartográficos Canadienses (ACMLA) (173): 14–17 . doi : 10.15353/acmla.n173.5671 . ISSN 2561-2263 . 
    • Poolman, Toryn M.; Townsend-Nicholson, Andrea; Cain, Amanda (2022). "Enseñanza de genómica a estudiantes de ciencias biológicas mediante plataformas de computación en la nube con conjuntos de datos abiertos" . Biochemistry and Molecular Biology Education . 50 (5): 446– 449. doi : 10.1002/bmb.21646 . ISSN 1539-3429 . PMC 9804627. PMID 35972192 .   
    • Nurdin, Naufal Muharam (2022). "Desarrollo de un dispositivo de detección temprana del nivel de hemoglobina en sangre basado en una plataforma óptica no invasiva" . Heliyon . 8 ( 11) e11260. Bibcode : 2022Heliy...811260I . doi : 10.1016/J.HELIYON.2022.E11260 . PMC 9636482. PMID 36345523 .  
    • Miftahul Arifin; Fauzi Helmi; Alamsyah, Dafiq Fajri (2024). "Análisis de Pola Asosiasi Penjualan Produk Ritel dengan Platform Google Colab" . Justificar: Jurnal Sistem Informasi Ibrahimy . 3 : 74– 85. doi : 10.35316/justify.v3i1.5569 . Consultado el 12 de diciembre de 2025 .
  12. Ihaka, Ross. "El proyecto R: una breve historia y reflexiones sobre el futuro" (PDF) . pág. 12. Archivado (PDF) del original el 28 de diciembre de 2022. Recuperado el 27 de diciembre de 2022. Nos propusimos desarrollar un lenguaje lo suficientemente amplio como para impartir cursos de estadística introductoria en Auckland. 
  13. Hornik, Kurt; El equipo central de R (12 de abril de 2022). "Preguntas frecuentes sobre R" . La red integral de archivos de R. 2.13 ¿Qué es la Fundación R? Archivado del original el 28 de diciembre de 2022. Recuperado el 28 de diciembre de 2022 .
  14. "Índice de /conjuntos de datos" . lib.stat.cmu.edu . Consultado el 5 de septiembre de 2024 .
  15. Ihaka, Ross. "R: Historia pasada y futura" (PDF) . pág. 4. Archivado (PDF) del original el 28 de diciembre de 2022. Recuperado el 28 de diciembre de 2022 . 
  16. Ihaka, Ross (5 de diciembre de 1997). "Nueva versión de R para Unix" . stat.ethz.ch. Archivado del original el 12 de febrero de 2023. Recuperado el 12 de febrero de 2023 .
  17. Ihaka, Ross. "El Proyecto R: Breve historia y reflexiones sobre el futuro" (PDF) . pág. 18. Archivado (PDF) del original el 28 de diciembre de 2022. Recuperado el 27 de diciembre de 2022 . 
  18. Wickham, Hadley; Cetinkaya-Rundel, Mine; Grolemund, Garrett (2023). R para la ciencia de datos, segunda edición . O'Reilly . pág. xvii. ISBN  978-1-492-09740-2.
  19. "Quarto" . Quarto . Consultado el 5 de septiembre de 2024 .
  20. 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 . El lenguaje R y el software relacionado desempeñan un papel fundamental en la computación para la ciencia de datos. ... Los paquetes de R proporcionan herramientas para una amplia gama de propósitos y usuarios. 
  21. Davies, Tilman M. (2016). «Instalación de R y paquetes contribuidos». El libro de R: Un primer curso de programación y estadística . San Francisco, California: No Starch Press. pág. 739. ISBN  9781593276515.
  22. Wickham, Hadley (2014). "Tidy Data" ( PDF ). Journal of Statistical Software . 59 (10). doi : 10.18637/jss.v059.i10.
  23. 1 2 Wickham, Hadley; Cetinkaya-Rundel, Mine; Grolemund, Garrett (2023). R para la ciencia de datos, segunda edición . O'Reilly . ISBN 978-1-492-09740-2.
  24. 1 2 Hornik, Kurt (2012). "The Comprehensive R Archive Network" . WIREs Computational Statistics . 4 (4): 394– 398. doi : 10.1002/wics.1212 . ISSN 1939-5108 . S2CID 62231320 .  
  25. ^ Kurt Hornik (23 de abril de 1997). "Anunciar: CRAN" . r-ayuda . Wikidata Q101068595 . .
  26. "Estado de los espejos de CRAN" . cran.r-project.org . Consultado el 16 de octubre de 2024 .
  27. "CRAN - Paquetes aportados" . cran.r-project.org . Consultado el 16 de octubre de 2024 .
  28. "R-Forge: Bienvenido" . r-forge.r-project.org . Consultado el 5 de septiembre de 2024 .
  29. "El Proyecto Omega para Computación Estadística" . www.omegahat.net . Consultado el 5 de septiembre de 2024 .
  30. "Construyamos software mejor, juntos" . GitHub . Consultado el 5 de septiembre de 2024 .
  31. "Estadístico de Oxford recibe conjuntamente el premio Rousseeuw de 1 millón de dólares por el proyecto R" . www.mpls.ox.ac.uk. Consultado el 2 de julio de 2026 .
  32. Wickham, Hadley; Grolemund, Garrett (enero de 2017). 1 Introducción | R para la ciencia de datos (1.ª ed.). O'Reilly Media . ISBN  978-1491910399.
  33. Equipo central de desarrollo de R. "Asignaciones con el operador =" . Consultado el 11 de septiembre de 2018 .
  34. Kabacoff, Robert (2012). "Quick-R: Funciones definidas por el usuario" . statmethods.net . Consultado el 28 de septiembre de 2018 .
  35. Wickham, Hadley. "R avanzado - Programación funcional - Cierres" . adv-r.had.co.nz .
  36. "NOTICIAS" . r-project.org .
  37. "R: R News" . cran.r-project.org . Consultado el 14 de marzo de 2024 .
  38. Wickham, Hadley; Çetinkaya-Rundel, Mine; Grolemund, Garrett (2023). "4 Flujo de trabajo: estilo de código" . R para ciencia de datos: importar, ordenar, transformar, visualizar y modelar datos (2.ª ed.). Pekín; Sebastopol, CA: O'Reilly. ISBN  978-1-4920-9740-2OCLC 1390607935 
  39. "Métodos de clase" . Consultado el 25 de abril de 2024 .
  40. Monkman, Martin. Capítulo 5 Nombres de versiones de R | Ciencia de datos con R: Un compendio de recursos .
  41. McGowan, Lucy D'Agostino (28 de septiembre de 2017). "Nombres de lanzamientos R" . livefreeordichotomize.com . Recuperado el 7 de abril de 2024 .
  42. r-hub/rversions , El proyecto R-hub del Consorcio R, 29 de febrero de 2024 , consultado el 7 de abril de 2024
  43. 1 2 3 Dalgaard, Peter (15 de julio de 2018). "¿Qué hay en un nombre? 20 años de gestión de versiones de R" (video) . YouTube . Recuperado el 9 de abril de 2024 .
  44. "R para macOS" . cran.r-project.org . Consultado el 5 de septiembre de 2024 .
  45. "IDE de Posit PBC, los creadores de RStudio | Positron - Inicio" . Positron . Consultado el 24 de septiembre de 2025 .
  46. ^ "IDE/Editor para Linguagem R | Tinn-R - Inicio" . Tinn-R (en portugués brasileño) . Consultado el 5 de septiembre de 2024 .
  47. Talbot, Justin; DeVito, Zachary; Hanrahan, Pat (1 de enero de 2012). «Riposte: Un compilador basado en trazas y una máquina virtual paralela para código vectorial en R». Actas de la 21.ª conferencia internacional sobre arquitecturas paralelas y técnicas de compilación . ACM. págs. 43–52 . doi : 10.1145/2370816.2370825 . ISBN  9781450311823. S2CID 1989369 . 
  48. Jackson, Joab (16 de mayo de 2013). TIBCO ofrece R gratuito a las empresas . PC World . Consultado el 20 de julio de 2015.
  49. "Mirando hacia el futuro de R en Azure SQL y SQL Server" . 30 de junio de 2021. Consultado el 7 de noviembre de 2021 .

Lecturas adicionales

  • Wickham, Hadley; Çetinkaya-Rundel, Mine; Grolemund, Garrett (2023). R para la ciencia de datos: importar, ordenar, transformar, visualizar y modelar datos (2.ª  ed.). Pekín Boston Farnham Sebastopol Tokio: O'Reilly . ISBN 978-1-4920-9740-2.
  • Gagolewski, Marek (2024). Programación profunda en R. doi : 10.5281 /ZENODO.7490464 . ISBN 978-0-6455719-2-9.
  • Documentación de R
  • Documentos técnicos de R
  • Big Book of R , lista seleccionada de libros de programación relacionados con R.
  • Libros relacionados con R - Proyecto R , lista seleccionada y parcialmente anotada de libros relacionados con R o S.