I have a data frame with name 'data_frame' which I want to use in computations with the library doParallel
. I try the following:
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)
But I get the error
Error in { : task 1 failed - "object 'data_frame' not found" Timing stopped at: 0.18 0.06 1.45
However it works if I use:
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,])), get('data_frame')[i,])
}
})
stopCluster(myCluster)
Or
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)
Does anyone have any experience from this problem?
Regards Dan