Функция не найдена в R doParallel 'foreach' - Ошибка в {: задача 1 не выполнена - «не удалось найти функцию« растр »»

Я впервые пытаюсь использовать высокопроизводительный кластер в своем учебном заведении и столкнулся с проблемой, которую не могу решить.

Следующий код возвращает ошибку:

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

А также пробовал другой код foreach для другой задачи, которую я имею:

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

и на этот раз функция gIntersection не найдена. Очевидно, что все пакеты установлены и загружены. После прочтения некоторых сообщений на форуме кажется, что это связано со средой, в которой выполняются / работают функции.

Может кто-нибудь помочь, пожалуйста? Я не программист!

Спасибо!

Обновить:

Я изменил свой код для решения, предоставленного:

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

Но то, что я получаю, это вывод (моя матрица результатов), заполненный на. Как вы можете видеть, я создаю матричный объект с именем results для заполнения результатами (который работает с циклами for), но после прочтения документации для foreach кажется, что вы сохраняете результаты по-другому с помощью этой функции.

И совет, что я должен выбрать для аргумента .combine?

Ответы на вопрос(1)

Ваш ответ на вопрос