mclapply в R: объект 'X' не найден

Я пытаюсь использовать mclapply из параллельного пакета (на Mac) и сталкиваюсь с проблемой. Я определил функцию edge.loop как:

edge.loop <- function(index) {
   hw.edge <- E(G)[HW.edges][index]
   apath <- E(G)$emig.route[[hw.edge]]
   short.cut <- apath[is.in.graph(G, apath, what="edges")]
   Edata <- get.data.frame(G, what="edges")
   lag.surv <- 1; # initialize
   x.surv <- 1
   result_list <- vector("list",length(short.cut))
   for (x in short.cut) {
      if ( E(G)[x]$cum.path.surv == -1 ) {
        if ( E(G)[x]$int.dam.type!=0 ) {
          x.surv <- 0
          if (E(G)[x]$up.passage==1) {
            x.surv <- lag.surv*E(G)[x]$Sentrain*S.Impinge 
          }
          result_list[x] <- x.surv
          lag.surv <- x.surv                                                                          
        }         
      } 
      else lag.surv <- E(G)[x]$cum.path.surv
    }    
  return(list("short.cut" = short.cut, "x.surv" = result_list))
}

Когда я вызываю эту функцию как

x <- edge.loop(1)

это работает просто отлично, но если я попробую

x <- lapply(1:2, edge.loop)

или же

x <- mclapply(1:2, edge.loop)

Я получаю сообщение об ошибке

Error during wrapup: object 'X' not found.

Есть идеи, что происходит? Заранее спасибо!

0 ответов

Другие вопросы по тегам