我有一个使用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”
答案 0 :(得分:4)
使用parlapply
的其他库时,请确保在每个节点上正确加载它们。你可以做到
clusterEvalQ(cl, library(data.table))
在运行命令之前,或包括
require(data.table)
在你的功能中。