¿Qué es R?
R es un lenguaje de programación construido para una sola tarea: trabajar con datos. La estadística, el análisis de datos y la visualización de datos no son cosas que se añaden a R con bibliotecas - son el lenguaje. Medias, modelos, gráficos y distribuciones de probabilidad vienen incluidos de fábrica, y la sintaxis está moldeada alrededor de la pregunta que la gente de datos realmente hace: "aquí hay una columna de números, dime algo sobre ella".
Ese enfoque es toda la personalidad de R. Un lenguaje de propósito general como Java te pide construir desde primitivas. R te entrega un test t en una sola línea.
Aquí está R haciendo aquello para lo que nació - ejecútalo:
Tres estadísticas, tres líneas, sin imports. c() construye un vector de valores, y mean(), sd() y max() están integradas en el lenguaje. Esa es la experiencia de R en miniatura.
Una breve historia
R surgió de S, un lenguaje estadístico desarrollado en los Bell Labs en los años 70. A mediados de los 90, dos estadísticos de la Universidad de Auckland - Ross Ihaka y Robert Gentleman - construyeron una implementación libre y de código abierto de las ideas de S y la llamaron R, jugando tanto con las iniciales de sus nombres como con la S de la que descendía.
R 1.0 se publicó en 2000, y el lenguaje ha sido mantenido por el R Core Team desde entonces. Como era gratuito mientras que sus ancestros comerciales no lo eran, R se extendió primero por universidades y laboratorios de investigación - y ese ADN académico todavía se nota: cuando los estadísticos inventan un método nuevo, un paquete de R que lo implementa suele aparecer antes que cualquier otra cosa.
Para qué se usa R
- Estadística y análisis de datos. El caso de uso central. Estadística descriptiva, pruebas de hipótesis, regresión, series temporales - todos ciudadanos de primera clase.
- Visualización de datos. Los gráficos de R base salen con una sola llamada de función, y el paquete
ggplot2es considerado por muchos la mejor biblioteca de gráficos en cualquier lenguaje. - Ciencia de datos. La colección de paquetes del "tidyverse" (
dplyr,tidyr,readr) hace que limpiar y reestructurar datos desordenados sea inusualmente agradable. - Bioinformática. El proyecto Bioconductor - miles de paquetes de R para genómica - hace de R el lenguaje por defecto en gran parte de la biología.
- Academia e investigación. Economía, psicología, epidemiología, ecología: si un campo publica artículos con valores p, sus estudiantes de posgrado probablemente escriben R.
- Informes. R Markdown y Quarto convierten el código de análisis en informes, presentaciones y dashboards pulidos.
Por qué a la gente le gusta R
Todo es un vector. Las operaciones de R se aplican de forma natural a colecciones enteras de valores a la vez - prices * 1.2 sube cada precio un 20%, sin necesidad de bucles. Cuando esto hace clic, el código de datos se vuelve dramáticamente más corto. Lo verás por todas partes cuando llegues a los vectores.
La estadística viene integrada. La generación de números aleatorios, las distribuciones, las pruebas estadísticas y los modelos lineales viven en R base. En la mayoría de los lenguajes eso son dependencias de terceros; en R simplemente están ahí.
CRAN. La Comprehensive R Archive Network aloja más de 20.000 paquetes curados, y cada uno pasa comprobaciones automatizadas antes de publicarse. Sea cual sea el método de nicho que use tu campo, alguien lo ha empaquetado.
Gráficos que respetan tu tiempo. hist(scores) te da un histograma. Una llamada. El análisis exploratorio - mira los datos, ajusta, vuelve a mirar - es aquello para lo que R está optimizado.
R vs Python: la versión honesta
Esta es la pregunta que todo principiante hace, así que aquí está la respuesta sin tribalismos.
Python es un lenguaje de propósito general que es muy bueno con datos. Gana cuando el trabajo con datos es una parte de un sistema más grande - una aplicación web, un pipeline de ML en producción, pegamento de automatización. Tiene más empleos asociados, y un solo lenguaje cubre más terreno.
R es un lenguaje de datos que es excelente en estadística. Gana cuando el trabajo es el análisis: explorar conjuntos de datos, ajustar modelos estadísticos, producir gráficos e informes con calidad de publicación. Su ecosistema estadístico es más profundo, y los métodos de vanguardia llegan primero a R.
Ninguno es "mejor" - apuntan a centros de gravedad distintos. Si estás en investigación, bioestadística o roles cargados de analítica, empieza con R. Si apuntas a la ingeniería de software con sabor a datos, empieza con Python. Y el secreto que las discusiones en línea se saltan: el segundo lenguaje cuesta una fracción del esfuerzo una vez que has aprendido el primero, y muchos profesionales usan ambos en la misma semana.
Pruébalo ahora mismo
No necesitas instalar nada para empezar - los bloques de código de estas páginas son interactivos. Aquí tienes una muestra un poco más grande: simular tiradas de dados y resumirlas.
sample() simula 100 tiradas de un dado, y table() cuenta cuántas veces salió cada cara - una tabla de frecuencias en una sola llamada. Cambia el 100 por 10000 y ejecútalo de nuevo; el promedio se acerca a 3.5, exactamente como dice la probabilidad que debería. Ese ciclo - pregunta, código, respuesta, ajuste - es lo que se siente al trabajar en R.
Cuando estés listo para ejecutar R en tu propia máquina, el siguiente paso es instalar R y RStudio.
Lo que te llevas
- R es un lenguaje gratuito y de código abierto construido específicamente para estadística, análisis de datos y visualización.
- Desciende de S, creado por Ross Ihaka y Robert Gentleman a mediados de los 90; R 1.0 llegó en 2000.
- Sus fortalezas: operaciones vectorizadas, estadística integrada, los más de 20.000 paquetes de CRAN y gráficos de primera clase.
- R vs Python no es una guerra - R es más profundo en estadística, Python es más amplio en ingeniería, y mucha gente usa ambos.
Lo siguiente: instalar R (y RStudio) en tu propia máquina.
Preguntas frecuentes
¿Para qué se usa la programación en R?
R se usa para estadística, análisis de datos y visualización de datos. Domina en la investigación académica, la bioestadística y la bioinformática, la epidemiología y cualquier campo donde el trabajo sea 'analiza este conjunto de datos y produce gráficos y modelos'. Es menos común para construir aplicaciones o sitios web - no fue diseñado para eso.
¿Es difícil aprender R?
Para trabajar con datos, R es uno de los lenguajes más fáciles para empezar. Cargar un conjunto de datos, calcular estadísticas de resumen y dibujar un gráfico toman una línea cada uno. Lo que confunde a la gente más adelante es la flexibilidad de R - varias formas de hacer lo mismo - por eso aprender las convenciones modernas desde el principio vale la pena.
¿Debería aprender R o Python?
Si tu trabajo es primordialmente estadístico (investigación, bioestadística, econometría, informes), R te lleva más lejos más rápido. Si quieres un solo lenguaje de propósito general para datos más scripting, backends web o ingeniería de machine learning, elige Python. Muchos profesionales de datos terminan usando ambos - los conceptos se transfieren.
¿Es R gratuito?
Sí. R es gratuito y de código abierto, publicado bajo la licencia GPL. Lo descargas de CRAN sin costo, y los miles de paquetes de CRAN también son gratuitos.