1

並列操作を使用して4つのpngを作成しようとしています..

以下は一種の疑似コードです....基本的に私は処理時間を短縮しようとしています。順番に、すべてのプロットで4つのpngを作成するのにより多くの時間がかかります..とにかく、私はこのようなことを試しましたが、うまくいきません...

library(doSNOW)
library(foreach)
cl<- makeCluster(6, type = "SOCK")
registerDoSNOW(cl)

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

Name <- Name <- paste(i, "dim.png", sep="_")
CairoPNG(filename = Name,  width = 900,  height = 480, pointsize = 12,  bg = "white")

# The plotting code goes here
dev.off()
}

私の質問は、複数のpngを並行して作成することは可能ですか? または、より良い方法はありますか?

アマール

4

1 に答える 1

3

あなたが得るエラー:

Error in { : task 1 failed - "could not find function "CairoPNG""

Cairoノード (またはスレーブ) がパッケージをロードする必要があることを警告します。実行することでこれを行うことができます

clusterEvalQ(cl, library(Cairo)) 

呼び出しの前に、またはブロック内にforeach追加できます。require(Cairo)foreach

関連するすべてsnowについて、私はいつもこのページが本当に役に立ちます: http://www.sfu.ca/~sblay/R/snow.html

于 2012-09-29T17:33:14.243 に答える