Bucles IV

R
R Tips
bucles
Autor/a

David Mateos

Fecha de publicación

20 de febrero de 2024

Buenas, aquí de vuelta “el pesadito de los bucles” con otro ejemplo ;-).

Como siempre, no se trata de que los bucles sean malos o haya que dejar de usarlos, si no de aprovechar, cuando se pueda, las funciones vectorizadas de R, para un código más claro (fácil de leer) y más eficiente (rápido de ejecutar).

Versión con bucle:

files <- list.files(path = "ruta_archivos", pattern = "tif$", full.names = TRUE)

# Genera un raster para cada capa
raster_list <- list()
for(i in 1:length(files)){
  raster_list[i] <- raster(files[i]) 
}

# Une las capas utilizando mosaic
raster_list$fun <- max
mosaic_raster <- do.call(mosaic, raster_list)

versión vectorizada:

files <- list.files(path = "ruta_archivos", pattern = "tif$", full.names = TRUE)

# Lee todas las capas
mdes <- sprc(files)

# Une las capas utilizando mosaic
mosaic_raster <- mosaic(mdes, fun = "max")