Consejos para aprender R para geografía si no sabes programar

La lluvia golpeaba el techo de zinc con esa fuerza pareja y obstinada del invierno en Valdivia, y en la pantalla de mi portátil la consola de RStudio acababa de escupir un párrafo entero en letras rojas furiosas sobre sistemas de coordenadas que no lograba comprender. Sentí que sin ser informática jamás entendería cómo mirar el bosque desde arriba.

Eran casi las once de la noche de un domingo lluvioso de junio. Mi taza de té se había enfriado por completo al lado del teclado, y yo estaba a punto de cerrar la tapa del computador y convencerme de que la teledetección era territorio exclusivo de ingenieros o cartógrafos de carrera. Yo trabajo medio tiempo en una oficina archivando papeles y haciendo planillas normales; no tengo formación técnica ni pasé por cursos de ciencias de la computación. Todo lo que quería era ver con mis propios ojos cómo se transformaban los parches de bosque nativo cerca de mi casa a lo largo de los años, pero me había chocado de frente contra un muro de sintaxis y tecnicismos que parecía pensado para espantar a cualquiera.

El error de querer aprender R como si fueras a crear software

Cuaderno de notas abierto con apuntes manuscritos sobre sistemas de coordenadas junto a una taza

Cuando decidí meterme en esto, cometí el error más común del principiante obediente: busqué manuales introductorios de programación. Me pasé semanas enteras memorizando qué era un vector atómico, cómo anidar estructuras lógicas abstractas y cómo escribir bucles para recorrer listas de números imaginarios que no me decían absolutamente nada. Pasaba horas haciendo ejercicios escolares en la pantalla mientras afuera el viento movía las ramas de los coigües, sin tocar un solo archivo geográfico ni entender para qué me servía todo ese andamiaje teórico.

Ese enfoque casi me hace abandonar. La mayoría de las guías te dicen que antes de mirar un mapa tienes que dominar los fundamentos de la informática tradicional, pero para quien solo tiene libres las tardes de los fines de semana, eso equivale a aprender a fabricar un martillo antes de intentar colgar un cuadro en la pared. Después de unas tres semanas lidiando con errores en la consola que ni siquiera sabía cómo buscar en internet, me di cuenta de que mi cabeza no retiene abstracciones si no tienen un anclaje en el mundo real.

Fue ahí cuando decidí dar vuelta el tablero por completo: dejé de intentar memorizar la sintaxis general del lenguaje antes de empezar y me propuse cargar una imagen satelital real para resolver dudas espaciales concretas desde el primer día. Si quería entender vegetación, necesitaba ver vegetación en la pantalla, aunque al principio no supiera exactamente qué hacía cada línea entre bastidores. Y curiosamente, fue en ese instante cuando las piezas comenzaron a encajar de a poco.

Tratar al raster como una cuadrícula con ojos

Lo que nadie te dice en un curso básico de programación es que la geografía computacional tiene una ventaja hermosa frente al código abstracto: es visual. Un raster no es un misterio algorítmico inalcanzable; es sencillamente una cuadrícula gigante de números donde cada celda guarda un valor de luz reflejada y una posición sobre la Tierra. Cuando logras ver esa matriz como si fuera una tela tejida con píxeles, el miedo a la consola empieza a desvanecerse.

En el ecosistema actual de R, casi todo lo que necesitamos los aficionados para trabajar con imágenes se sostiene sobre dos pilares modernos: el paquete terra y el paquete sf. El paquete terra fue diseñado específicamente para suceder al antiguo paquete raster, optimizando en lenguaje C++ la velocidad de lectura y procesamiento de imágenes pesadas, lo que evita que el computador se congele cada vez que intentas abrir un archivo grande. Por su parte, sf trata a las capas vectoriales (esos polígonos de ríos, caminos o límites prediales) como si fueran tablas de datos normales con una columna mágica que guarda la geometría.

Si estás empezando, no necesitas abarrotar tu entorno de trabajo con decenas de librerías desconocidas. Con aprender a leer un archivo con rast() o leer un vector con st_read() ya tienes el cincuenta por ciento del camino recorrido. Desde esa base mínima puedes consultar recursos prácticos como Cómo hacer un análisis multiespectral en R usando imágenes de satélite para entender cómo dialogan esas matrices entre sí sin perderte en teoría innecesaria.

La tarde en que el mapa por fin tuvo sentido

Pantalla de portátil en RStudio mostrando el cálculo de un mapa de vegetación

Recuerdo con muchísima claridad una tarde a mediados de agosto. El vapor de la taza de té enfriándose mientras esperaba impaciente que la barra de descarga satelital llegara al cien por ciento llenaba el rincón de mi escritorio con ese olor tibio a manzanilla. Estaba bajando una escena de Sentinel-2 para observar la cuenca de nuestro río valdiviano.

Venía de varios tropezones frustrantes. Pocos días antes me había quedado mirando desconcertada un mapa completamente en blanco porque combiné una capa proyectada en metros con otra en grados decimales: el visor mostraba un punto diminuto en una esquina y un vacío infinito en el resto del lienzo, una trampa de novata en la que caí pese a haberla leído advertida en un foro la noche anterior. Pero esa tarde de agosto, armada de paciencia y con las notas abiertas sobre la mesa, logré recortar el área de estudio ajustando las extensiones espaciales exactas.

En ese momento entendí la diferencia práctica de escala: mientras que las bandas ópticas visibles y del infrarrojo cercano de Sentinel-2 ofrecen una resolución espacial de 10 metros por píxel, las imágenes de Landsat 8 y Landsat 9 bajan a una resolución espacial de 30 metros. Esa diferencia, que en un libro parece solo un número seco, en la pantalla significaba distinguir los bordes precisos de las copas de los árboles ribereños frente a ver una mancha verdosa difusa.

Esa misma tarde escribí la fórmula matemática más famosa del mundo satelital: el índice de vegetación de diferencia normalizada (NDVI). Para calcularlo en R no necesité un software comercial inaccesible ni cientos de líneas de código; bastó con restar y sumar las matrices correspondientes a la banda del infrarrojo cercano (NIR) y la banda roja del espectro electromagnético:

ndvi <- (nir - red) / (nir + red)

Cuando la ventana gráfica dibujó una gradiente que iba desde los marrones pálidos de los caminos de ripio hasta el verde profundo e intenso del bosque húmedo templado, sentí una satisfacción inmensa. Mi computador no se había sobrecalentado ni se había cerrado el programa de golpe. Estaba observando la geografía viva de mi entorno a través de números que yo misma había procesado.

Consejos prácticos para no abandonar en el intento

Hace un par de semanas al ordenar mis notas en el cuaderno espiral donde garabateo código con lápiz mina, recopilé las costumbres sencillas que me salvaron de tirar la toalla en estos cinco meses de aprendizaje autodidacta:

Aprender estas herramientas por cuenta propia los fines de semana es un proceso lento, lleno de pausas mientras el hervidor silba en la cocina o mientras miras por la ventana cómo las nubes bajas van tapando los cerros de Niebla. Pero no hace falta tener un título en ciencias de datos para adentrarse en la geografía: solo se necesita curiosidad por el territorio que habitas y la paciencia suficiente para dejar que cada error te enseñe exactamente qué camino tomar en el siguiente intento.

Artículos relacionados