Buenas, vuelvo a la carga con lo de que “en R no hacen tanta falta los bucles”
Un código que acabo de ver por ahí:
#Grd es un SpatRast de varias bandas
outdir<-"ruta/"
output<-paste0(outdir,names(Grd),".tif")
for (i in 1:length(names(Grd))) {
A<-Grd[[i]]
terra::writeRaster(A,output[i],overwrite=TRUE)
}en este caso, el bucle no aporta nada que no haga directamente writeRaster. Se podría quedar así:
#Grd es un SpatRast de varias bandas
outdir<-"ruta/"
output<-paste0(outdir,names(Grd),".tif")
terra::writeRaster(Grd, output, overwrite=TRUE)Queda un código más rápido de escribir, más fácil de leer y con el que es más dificil cometer algún error tonto.
Además, aunque no lo he probado, me imagino que será también más rápido de ejecutar, porque en el primer caso estamos haciendo 10 asignaciones + 10 llamadas a la función, mientras que el segundo solo hay una llamada a la función.