Entradas

Mostrando las entradas de agosto, 2025

¿Puedes refactorizar una receta de Makefile?

Imagen
Para refactorizar tu Makefile y evitar la repetición de código, puedes usar una  función con patrones  (pattern rules) combinada con  variables automáticas . Aquí te muestro cómo hacerlo: 🔄 Makefile refactorizado (versión DRY) makefile Copy Download # Lista de municipios a procesar MUNICIPIOS := santa_ana nacozari_de_garcia # Regla para generar todos los reportes all : $ ( addprefix reports/municipio_, $ ( addsuffix .tex, $ ( MUNICIPIOS ) ) ) # Regla patrón para cualquier municipio reports/municipio_%.tex : data/non-tabular/time_and_distance_%.json reports/templates/municipio.tex jinja-render \ --report-name "municipio" \ --summary-path "$<" mv reports/municipio.tex $@ 🔍 Explicación: Variables : MUNICIPIOS : Lista de sufijos de municipios. addprefix / addsuffix : Generan los nombres de archivos objetivo (ej:  reports/municipio_santa_ana.tex ). Regla patrón ( % ) : El símbolo  %  actúa como comodín para cualquier municipio. $< : Var...

¿Cómo cambiar los nombres de columnas numéricas por meses en R?

Imagen
  Para cambiar los nombres de las columnas en tu tibble de R, puedes usar la función rename() de la librería dplyr . Aquí te muestro cómo hacerlo con un ejemplo: Primero, supongamos que tu tibble se llama datos . R # Asegúrate de tener la librería dplyr instalada y cargada library(dplyr) library(tibble) # Creación de un tibble de ejemplo datos <- tibble( id = 1 , ` 1 ` = 10, `2` = 20, `3` = 30, `4` = 40, `5` = 50, `6` = 60, `7` = 70 ) # Visualizar los nombres de las columnas antes de cambiar colnames(datos) Primera opción: más explícita Puedes usar rename() para asignar nuevos nombres a las columnas. La sintaxis es nuevo_nombre = viejo_nombre . R datos_renombrado <- datos %>% rename( Enero = ` 1 `, Febrero = `2`, Marzo = `3`, Abril = `4`, Mayo = `5`, Junio = `6`, Julio = `7` ) # Visualizar los nuevos nombres colnames(datos_renombrado) Importante: Cuando el nombre de una columna es un número, como en tu caso, debes us...