ggplot
Rで関数を実行していますが、データをプロットにプッシュする前に、データを変換してサブセット化するために複数のコマンドを実行するため、実行に時間がかかる可能性があります。この関数を複数回実行して、引数の値を調整する必要があります。私が提供する例は単純なものです...しかし、それをどのようにスピードアップするか疑問に思っていましたか?スケールアップした場合、つまり、すべての組み合わせを取得するための最速の方法は何ですか...for
ループをmclapply
より高速であると仮定して変換する一般的な方法はありますか...特定の方法の好みを示す代替の模擬例を自由に提供してください
モックの例:
基本機能:
ff <- function(n, mu, stdev){
x1 <- c(1:n)
y1 <- rnorm(n,mu,stdev)
z1 <- data.frame(cbind(x1,y1))
ggplot(z1, aes(x=x1,y=y1))+
geom_point()+
labs(title=paste("n=",n,"mu=",mu, "stdev=",stdev))
}
したがって、パラメータを通過するための便利な方法は、次のことを行うことです...
for(i in 1:10){
for(j in 1:2){
for(k in seq(100,500,by=100)){
ff(k,i,j)
}
}
}
これをスピードアップする最速の方法は何でしょうか?私はそれが次のようなものを必要とするかもしれないと思いますそして各行を実行するexpand.grid(x=c(1:10),y=c(1:2),z=seq(100,500,by=100))
ために使用mclapply
する...ある種の並列の方法で?(これには4つのコアがあります)。速度を大幅に向上させる方法で、基本機能からビットを抜いたり、基本機能に入れたりしてください。各パラメーターの範囲を増やすと、プロセスに明らかに時間がかかりますが、それについてできることは何もありません...または、より多くのコアなどに分割した場合、それも何らかの方法で変更できますか?
ボーナスポイントについては...出力画像を保存し、パッケージのようにスライダーを作成しmanipulate
てすべてのパラメーターをインタラクティブに処理するものはありますか...それが行うのは、関連する画像を引き出すことだけです。毎回再計算するよりも。
注意:foreach
ソリューションに役立つと思われる他のパッケージ(など)を自由に使用/提案してください。