问题描述
我有一个名称为“ data_frame”的数据框,我想在使用doParallel库进行计算时使用它。我尝试以下方法:
library(doParallel)
myCluster <- makeCluster(detectCores()-1,type = "PSOCK") # type of cluster
registerDoParallel(myCluster)
system.time({
list_input_tmp <- foreach(i = 1:nrow(get('data_frame'))) %dopar% {
temp = list(function1(get('data_frame')[i,]),get('data_frame')[i,])
}
})
stopCluster(myCluster)
但是我得到了错误
{中的错误: 任务1失败-“未找到对象'data_frame'”时间停止在:0.18 0.06 1.45
但是如果我使用它,它会起作用:
library(doParallel)
myCluster <- makeCluster(detectCores()-1,type = "PSOCK") # type of cluster
registerDoParallel(myCluster)
system.time({
list_input_tmp <- foreach(i = 1:nrow(get('data_frame'))) %dopar% {
temp = list(function1(data_frame[i,])),])
}
})
stopCluster(myCluster)
或
library(doParallel)
myCluster <- makeCluster(detectCores()-1,type = "PSOCK") # type of cluster
registerDoParallel(myCluster)
system.time({
list_input_tmp <- foreach(i = 1:nrow(get(paste0('data_',list_input[3])))) %dopar% {
temp = list(function1(get('data_frame')[i,data_frame[i,])
}
})
stopCluster(myCluster)
有人对这个问题有经验吗?
关于丹
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)