在R中把循环写成并行运算

Python015

在R中把循环写成并行运算,第1张

这个不难,给你提供一份代码,欢迎追问。

------------------------

library(parallel)

library(iterators)

library(foreach)

library(doParallel)

cores=detectCores()

cl <- makeCluster(cores[1]-1)

registerDoParallel(cl)

a=rep(100, NA)

rate=rep(100, NA)

foreach(i = 1:100)%dopar%{

rate[i] = i / 100

b=runif(100, 0,1)

c=runif(100, 0,1)

a[i]=mean(b^2+c^2<rate[i])

}

plot(rate, a)

#stop cluster

stopCluster(cl)

for (i in seq(from=0.1,to=2.9,by=0.2)){

assign(paste("swc_", i, sep = ""), subset(swc_1, swc_1$z == i))

}