Atelier de código
  • Inicio
  • Acerca de
  • Contacto
  • Blog

R: un lenguaje que nació para pensar con datos

¿Qué tiene que ver programar con leer, interpretar y producir conocimiento en ciencias sociales y humanas? Este texto propone una entrada a R desde su historia y sus usos académicos, mostrando cómo su diseño, su lógica basada en funciones y su ecosistema de paquetes dialogan con prácticas analíticas familiares. Más que una introducción técnica, es una invitación a leer el código como lenguaje y a pensar la programación como una práctica situada de investigación.
Published

January 17, 2026

Cuando desde las ciencias sociales y humanas nos acercamos por primera vez a un lenguaje de programación, suele aparecer una sensación ambigua: curiosidad, interés y, al mismo tiempo, cierta cautela. Programar se asocia con frecuencia a una práctica técnica, distante de la lectura, el análisis discursivo o la reflexión teórica. Sin embargo, el lenguaje de programación R ofrece un punto de entrada diferente. Su historia, sus usos y la comunidad que lo sostiene lo convierten en un lenguaje particularmente cercano a una mirada analítica sobre los datos y sobre las condiciones de producción del conocimiento.

R se originó en el ámbito de la estadística académica. A comienzos de la década de 1990, Ross Ihaka y Robert Gentleman, estadísticos de la Universidad de Auckland, desarrollaron R como una reimplementación libre del lenguaje S, utilizado desde los años setenta en investigación estadística. Desde ese momento inicial, R fue concebido como una herramienta para explorar datos, ensayar modelos y acompañar procesos de investigación científica. Esta procedencia ayuda a entender muchas de sus características actuales y también las prácticas que se consolidaron en torno a su uso.

Una de las notas distintivas de R es su orientación al análisis interactivo. El código se ejecuta de manera progresiva y permite un trabajo exploratorio con los datos: probar una operación, observar el resultado, ajustar la instrucción y volver a evaluar. Para quienes están habituados a construir análisis de forma iterativa, a partir de hipótesis provisorias y reformulaciones constantes, este modo de trabajo resulta especialmente familiar. Programar en R suele implicar sostener un proceso de exploración controlada, más que seguir un recorrido completamente predefinido.

Desde el punto de vista técnico, R se apoya fuertemente en el uso de funciones. La mayor parte de las operaciones se realizan aplicando funciones a objetos. Una función puede entenderse como una operación formalizada que recibe uno o más argumentos, ejecuta una serie de pasos internos y devuelve un resultado. Calcular un promedio, transformar una variable, ajustar un modelo o producir un gráfico son ejemplos de tareas que se realizan mediante funciones. Leer código en R implica identificar qué funciones aparecen, qué argumentos reciben y qué tipo de objeto generan como salida.

Este énfasis en las funciones favorece una lectura atenta del código como si se tratara de un texto. Cada llamada a una función presenta una estructura relativamente estable: un nombre, paréntesis y argumentos que pueden estar explícitamente nombrados o quedar implícitos mediante valores por defecto. Para quienes tienen experiencia en el análisis de textos, esta sintaxis puede abordarse como un sistema de marcas que orienta la interpretación. Comprender por qué una función produce cierto resultado suele requerir detenerse en esos detalles y en los supuestos que la función incorpora.

Con el tiempo, los usos de R se expandieron de manera considerable. En la actualidad, se utiliza para análisis estadístico, modelado, visualización de datos, análisis de textos, estudios de redes sociales, trabajo con datos espaciales y experimentos en psicología y lingüística, entre muchos otros campos. Esta expansión se explica en gran medida por el sistema de paquetes. Un paquete es un conjunto organizado de funciones, datos y documentación que amplía las capacidades del lenguaje. R funciona así como un entorno en constante crecimiento, alimentado por contribuciones de distintas comunidades académicas. Para las ciencias sociales y humanas, este rasgo resulta especialmente relevante. Muchas de las herramientas disponibles en R fueron desarrolladas por investigadoras e investigadores que trabajan con problemas afines a los nuestros. Los paquetes orientados al análisis de encuestas, textos, corpus lingüísticos o datos longitudinales incorporan decisiones teóricas y metodológicas específicas. Al leer el código que utiliza estos paquetes, también se accede a esas decisiones: cómo se define una unidad de análisis, qué operaciones se consideran pertinentes, qué supuestos se adoptan sobre los datos.

En este sentido, R puede pensarse como un lenguaje en el que se inscriben formas particulares de pensar y de investigar. La existencia de clases de objetos, la representación de los modelos como objetos que pueden ser examinados o la construcción de gráficos por capas organizan la relación entre quien analiza y el fenómeno analizado. Aprender R implica aprender a reconocer y a trabajar con esas mediaciones.

Por esta razón, en una serie dirigida a quienes se inician en la programación desde las ciencias sociales y humanas, resulta productivo presentar R como un lenguaje con historia, convenciones y comunidades de uso. Leer código en R, incluso cuando al principio lleva tiempo y esfuerzo, forma parte de una alfabetización técnica que dialoga con prácticas habituales de lectura e interpretación.

En los próximos textos de esta serie, iremos introduciendo fragmentos concretos de código. El objetivo será aprender a leerlos, descomponerlos y comprender qué están haciendo y qué están diciendo. Programar en R, desde nuestras disciplinas, implica incorporar una nueva forma de escritura y de producción de conocimiento situado.