R parallel rbindlist不起作用

时间:2014-06-15 02:59:37

标签: r

我有一个使用rbindlist的函数,我想使用parLapply调用该函数。简化版本如下:

func <- function(x){
  df1 <- data.frame(a = c(x,2), b = c(3,4))
  df2 <- data.frame(a = c(x,2), b = c(4,4))
  rbindlist(list(df1,df2))
}

cl <- makeCluster(getOption('cl.cores', detectCores()))
tmp <- parLapply(cl,c(1,2),func)
stopCluster(cl)

但是,我收到一条错误消息:

checkForRemoteErrors(val)出错:   2个节点产生错误;第一个错误:找不到函数“rbindlist”

1 个答案:

答案 0 :(得分:4)

使用parlapply的其他库时,请确保在每个节点上正确加载它们。你可以做到

clusterEvalQ(cl, library(data.table))

在运行命令之前,或包括

require(data.table)

在你的功能中。