我在将与“abc”相关的数据保存到名为“myResults.rds”的文件中时遇到了困难。我的代码很复杂,在foreach循环中涉及多个操作。我希望独占地保存我存储在名为“abc”的列表中的特定结果。下面是代码的说明:
library(foreach)
library(doParallel)
# create a cluster with 6 workers
cl <- makeCluster(6)
registerDoParallel(cl)
# define a local function
generate<-function(p){
MIN <- (1-p)*100
MAX <- (1+p)*100
print(paste(MIN,MAX))
mat <- matrix(nrow=1,ncol=4)
for (i in seq(1,11,1)){
a <- round(runif(1,MIN,MAX),2)
b <- round(runif(1,MIN,MAX),2)
c <- round(runif(1,MIN,MAX),2)
d <- round(runif(1,MIN,MAX),2)
mat <- rbind(mat,c(a,b,c,d))
}
return(mat[2:length(mat[,1]), ])
}
# run the loop with foreach and call the local function in parallel
abc<-list()
results <- foreach(i = 1:3) %dopar% {
lstData=generate(0.05)
abc[[i]]=lstData
# main code goes here for analysis ......
# Just added two simple operations for cheeking
addNum <- 1+2+3
subNum <- 1-2-3
}
saveRDS(abc, file = "myResults.rds")
stopCluster(cl)
2条答案
按热度按时间w80xi6nr1#
以下是可以考虑的另一种方法:
zfciruhq2#
您可以使用以下方法: