3

for ループ内で関数を呼び出しています。

sample_fun <- function(x,y) {
    # do something with x,y and return value
}

My loop looks like
result = list()

for(i in 1:10000)
   result[i] = sample_fun(i,i+1)

このループを並列化するにはどうすればよいですか。foreach と dopar を使用すると、添字エラーが発生します。

4

1 に答える 1

7
library(doSNOW)

sample_fun <- function(x,y) {
  # do something with x,y and return value
}

threads <- 8
N <- 10000

cl <- makeCluster(threads)
registerDoSNOW(cl)

result <- foreach(i=1:N) %dopar% sample_fun(i,i+1)

stopCluster(cl)

http://www.joyofdata.de/blog/parallel-computing-r-windows-using-dosnow-foreach/

于 2013-11-27T10:24:55.240 に答える