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")