Actualmente estoy haciendo ciencia de datos con R y generalmente escribo bucles para acceder a varios archivos u objetos a la vez. Normalmente esto no tiene ningún problema, pero recientemente se produjo un problema al intentar ejecutar el siguiente código:

setwd(PROJECT_FOLDER)

climate_forcing <- c("cf-1", "cf-2", "cf-3", "cf-4")

#load all mean stacks from IM and create rasterstack
for (i in 1:NROW(climate_forcing)){
  setwd(PROJECT_FOLDER)
  setwd(paste0("time frames mcor/X variable/IM/", climate_forcing[i], "/ncstack/"))
  file.names <- list.files(pattern = ".nc", recursive=T, full.names=F)                #list all files with ".nc"
  stopwords <- c(".nc", "stack", "/dLAI")                                             #stopwords
  names.short <- gsub(paste(stopwords, collapse="|"), "", file.names)       
  assign("names.short", paste0(names.short, climate_forcing[i]))
  for (j in 1:NROW(file.names)){                                                     
    assign(paste0(names.short[j], "_stack"), stack(file.names[j]))
  } 
}

Mensaje de error devuelto:

Error in data.frame(values = unlist(unname(x)), ind, stringsAsFactors = FALSE) : 
  arguments imply differing number of rows: 1, 0

Escribí esto hace un tiempo y lo ejecuté antes y creo que solía funcionar ya que los archivos creados por un script similar están allí. De todos modos hice algunas pruebas y parece que el error ocurre en el bucle for dentro del bucle for (con la variable j) . No estoy seguro de qué puede causar este error, pero tengo que hacer algo con "file.names" y "names.short", ¿verdad? Sin embargo, cuando los comparo, sus propiedades parecen ser idénticas, lo que supuse que sería, ya que creo el último a partir del primero. La razón por la que los estoy creando así es porque quiero crear objetos leyendo los archivos correspondientes de file.names. El error que obtengo se refiere a data.frame que me confunde porque estoy trabajando con vectores de caracteres aquí.

Quizás alguien con más experiencia pueda resolver este problema. Gracias por cualquier ayuda y si hay alguna pregunta intentaré responderla.

0
Ferdi Karp 23 ago. 2020 a las 16:45

1 respuesta

La mejor respuesta

Muy bien, resulta que algo andaba mal con los paquetes de R, los reinstalé y los recargué (raster) y ahora funciona. ¡Gracias a todos por sus contribuciones!

0
Ferdi Karp 24 ago. 2020 a las 07:23