Função não encontrada em R doParallel 'foreach' - Erro em {: task 1 failed - “não foi possível encontrar a função” raster “”

Eu estou tentando usar um cluster de alto desempenho na minha instituição pela primeira vez e tenho um problema que não consigo resolver.

O código a seguir retorna um erro:

ptime<-system.time({
  r <- foreach(z = 1:length(files),.combine=cbind) %dopar% {
    raster <- raster(paste(folder,files[1],sep=""))
    data<-getValues(raster)
    clp <- na.omit(data)
    for(i in 1:length(classes)){
      results[i,z]<-length(clp[clp==classes[i]])/length(clp)
      print(z)
    }
  }
})

Error in { : task 1 failed - "could not find function "raster""

A também tentou um código foreach diferente para outra tarefa que eu tenho:

r <- foreach (i=1:length(poly)) %dopar% {
  clip<-gIntersection(paths,poly[i,])
  lgth<-gLength(clip)
  vid<-poly@data[i,3]
  path.lgth[i,] <- c(vid,lgth)
  print(i)
}

e desta vez a função gIntersection não foi encontrada. Obviamente, os pacotes são todos instalados e carregados. Depois de ler alguns posts no fórum, parece que tem a ver com o ambiente em que as funções executam / operam.

Alguém pode ajudar por favor? Eu não sou programador!

Obrigado!

Atualizar:

Eu ajustei meu código para a solução fornecida:

results<-matrix(nrow=length(classes),ncol=length(files))
dimnames(results)[[1]]<-classes
dimnames(results)[[2]]<-files

ptime<-system.time({
    foreach(z = 1:length(files),.packages="raster") %dopar% {
    raster <- raster(paste(folder,files[z],sep=""))
    data<-getValues(raster)
    clp <- na.omit(data)
    for(i in 1:length(classes)){
      results[i,z]<-length(clp[clp==classes[i]])/length(clp)
      print(z)
    }
  }
})

Mas o que eu obtenho é uma saída (minha matriz de resultados) preenchida com na's. Como você pode ver, eu crio um objeto de matriz chamado resultados para preencher com resultados (que funciona com loops for), mas depois de ler a documentação para foreach, parece que você salva seus resultados de maneira diferente com essa função.

E conselhos sobre o que devo escolher para o argumento .combine?

questionAnswers(1)

yourAnswerToTheQuestion