Bonjour,

Je n'arrive pas à résoudre l'erreur indice hors limites

(Error in h(simpleError(msg, call)) :
erreur d'évaluation de l'argument 'x' lors de la sélection d'une méthode pour la fonction 'raster' : indice hors limites)


dans la boucle suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
library(raster)
 
months <- c("-01", "-02", "-03", "-04", "-05", "-06", "-07", "-08", "-09", "-10", "-11", "-12")
 
list_files <- list()
 
for(i in months) {
  files <- list.files(path = "xxx", pattern = i, full.names = TRUE)
 
  list_files[[i]] <- files
}
 
list_rast <- list()
list_months <- list()
 
for (i in 1:length(list_files)){
 
  for (j in 1:29) {
    rast <- raster(list_files[[i]][[j]])
 
    list_rast[[j]] <- rast
 
    print(j)
  }
 
  list_months[[i]] <- list_rast
  print(i)
 
}
 
for (i in 1:length(list_months)){
 
  tmin <- mean(stack(list_months[[i]]))
  writeRaster(tmin,paste0("xxx",i,".tif"), driver= "GeoTiff", overwrite = TRUE)
 
  print(i)
}
J'ai tenté ça pour y voir plus clair, peut-être que cela peut aider :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
> traceback()
3: h(simpleError(msg, call))
2: .handleSimpleError(function (cond) 
   .Internal(C_tryCatchHelper(addr, 1L, cond)), "indice hors limites", 
       base::quote(list_files[[i]][[j]]))
1: raster(list_files[[i]][[j]])
Merci beaucoup pour votre aide