R para humanidades: ¿Por qué aprender a programar?
Aprender a programar suele presentarse como una habilidad técnica, asociada a la eficiencia, la automatización o el mercado laboral. Desde las ciencias sociales y humanas, esa forma de enunciar el problema resulta, como mínimo, insuficiente. Nuestro trabajo cotidiano está atravesado por preguntas sobre el lenguaje, la interpretación, la construcción de categorías y la producción situada de conocimiento. En ese marco, la programación puede pensarse menos como una destreza instrumental y más como una práctica de escritura y de análisis que dialoga con preocupaciones ya conocidas.
Programar implica escribir instrucciones en un lenguaje formal, pero también leerlas, interpretarlas y revisarlas. Un script en R no es solo una secuencia de comandos que “funciona” o “no funciona”: es un texto que condensa decisiones analíticas, supuestos teóricos y recortes metodológicos. Del mismo modo que analizamos un texto académico preguntándonos qué conceptos usa, qué deja afuera o cómo organiza su argumento, el código también puede leerse críticamente. Aprender a programar en R, entonces, abre la posibilidad de pensar con datos de una manera explícita y revisable.
R es especialmente interesante para este cruce porque nació y se desarrolló en el ámbito académico. Su uso extendido en estadística, lingüística, sociología, psicología y ciencias de la educación no es casual. La lógica del lenguaje favorece un trabajo exploratorio y reflexivo con los datos, donde cada paso del análisis puede quedar registrado. Además, su ecosistema de paquetes refleja debates y tradiciones disciplinares concretas, que se materializan en funciones, argumentos y estructuras de datos.
Para empezar a ver esto de manera más concreta, vale la pena mirar ejemplos simples de código. Supongamos que tenemos un conjunto de datos con una variable numérica y queremos obtener un resumen general. En R, una de las funciones más utilizadas para esto es summary():
summary(datos$edad)Aunque esta línea es breve, dice muchas cosas. summary es una función que toma un objeto como argumento. En este caso, el objeto es una variable llamada edad, que forma parte de un objeto mayor llamado datos. El uso del símbolo $ indica una relación de pertenencia: estamos accediendo a una variable dentro de un conjunto de datos. El resultado no es un número único, sino un conjunto de estadísticas descriptivas. Esa elección ya implica una concepción del análisis: resumir no es reducir a un solo valor, sino ofrecer varias medidas que permiten interpretar la distribución.
Otro ejemplo frecuente tiene que ver con la transformación de datos. Supongamos que queremos crear una nueva variable a partir de una ya existente:
datos$edad_meses <- datos$edad * 12Aquí aparece con claridad la dimensión escritural de la programación. La flecha <- puede leerse como una asignación: a la izquierda se define un nombre nuevo, a la derecha se especifica cómo se construye. Esta línea no solo ejecuta un cálculo, sino que deja un rastro explícito de cómo se obtuvo esa variable. Si otra persona lee el script, puede reconstruir la decisión analítica sin necesidad de explicaciones externas.
También es habitual usar R para agrupar y comparar información. Por ejemplo, calcular promedios por grupo:
aggregate(puntaje ~ grupo, data = datos, mean)En esta línea se condensan varias ideas. La fórmula puntaje ~ grupo expresa una relación entre variables, similar a las que se usan en modelos estadísticos. El argumento data = datos explicita de dónde salen esas variables, y mean indica la operación que se quiere aplicar. Leer este código implica entender cómo R articula lenguaje matemático, estructuras de datos y decisiones analíticas en una sintaxis relativamente compacta.
Estos ejemplos no buscan enseñar a programar paso a paso, sino mostrar que el código puede leerse como una forma de argumentación. Cada función seleccionada, cada argumento incluido u omitido, cada nombre asignado a un objeto contribuye a construir sentido. Programar en R no elimina la interpretación; la hace más visible y, en muchos casos, más discutible.
Desde esta perspectiva, aprender a programar no significa abandonar prácticas propias de las ciencias sociales y humanas. Al contrario, implica extenderlas a un nuevo tipo de texto. El código se convierte en un espacio donde se articulan teoría, método y datos. Herramientas como RStudio, y prácticas como el uso de scripts reproducibles o documentos en R Markdown, refuerzan esta idea al integrar código, texto y resultados en un mismo soporte.
En el cierre de esta reflexión, vale insistir en una idea central: la programación es una práctica situada. Se aprende en contextos específicos, para responder a preguntas concretas, con tradiciones disciplinares determinadas. Aprender R desde las humanidades y las ciencias sociales no implica adoptar sin más un lenguaje ajeno, sino apropiarse de él, leerlo críticamente y usarlo para pensar problemas propios. Programar, en este sentido, es otra forma de escribir, analizar y producir conocimiento.