在R中使用预处理函数进行并行处理不起作用
我有一个巨大的代码,里面有在R中使用预处理函数进行并行处理不起作用,r,parallel-processing,R,Parallel Processing,我有一个巨大的代码,里面有for loop,需要几个小时才能运行,最后我的电脑就死机了。为了改进代码,我使用了foreach以及并行处理来减少运行时间。我的代码如下: library(doParallel) cores=detectCores() cl <- makeCluster(cores[1]-1) registerDoParallel(cl) foreach (i=1:3)%dopar%{ {some R code with i index} preProc <- preP
for loop
,需要几个小时才能运行,最后我的电脑就死机了。为了改进代码,我使用了foreach
以及并行处理来减少运行时间。我的代码如下:
library(doParallel)
cores=detectCores()
cl <- makeCluster(cores[1]-1)
registerDoParallel(cl)
foreach (i=1:3)%dopar%{
{some R code with i index}
preProc <- preProcess(method="bagImpute", train[, 1:lengthvar])
train[, 1:lengthvar] <- predict(preProc, train[, 1:lengthvar])
test[, 1:lengthvar] <- predict(preProc, test[, 1:lengthvar])
}
stopCluster(cl)
库(双并行)
核心=检测核心()
cl您需要在foreach
函数中添加.packages
library(doParallel)
cores=detectCores()
cl <- makeCluster(cores[1]-1)
registerDoParallel(cl)
foreach (i=1:3,.packages("caret"))%dopar%{
{some R code with i index}
preProc <- preProcess(method="bagImpute", train[, 1:lengthvar])
train[, 1:lengthvar] <- predict(preProc, train[, 1:lengthvar])
test[, 1:lengthvar] <- predict(preProc, test[, 1:lengthvar])
}
stopCluster(cl)
库(双并行)
核心=检测核心()
氯