多くのプロットを生成してpng/jpeg/epsデバイスに書き込むときに、メモリの問題があります。Rのヒープ解析(多くのプロットをpng/jpegに書き込む問題を解決するために必要です)
require(ggplot2)
...
render <- function(x) {
fileName=paste(chartDir, "/", x$PACKED[1], ".png", sep="")
x <- x[,c("EFF_DATE", "variable", "value")]
png(fileName, width=1920, height=1000, units="px")
print(qplot(EFF_DATE, value, data = x, facets = variable ~ ., geom="line"))
dev.off()
}
d_ply(molten, "PACKED", render, .progress="tk")
コードは、最初〜80個のプロットのためにうまく進行した後、非常に短い時間内にRAMの100%を消費し、その後フォーク爆弾のように振る舞います。私はqplotに提供されたxのサイズを確認しました。それらはすべてほぼ同じです。したがって、データではありません。 png行にコメントするときにコードがうまく動作します。 ggplot2ライブラリからggsaveを使用しようとすると、同じ問題が発生します。
なぜこのようなことが起こっているのか誰かが気付いていたら、私はそれを聞いてみたいです。しかし、誰もいないことを予期して、メモリ内のどこを調べて飛行機でクリーンアップすることができるのかを調べるために、Rの中で実行できる素敵なヒープ解析ツールがあるかどうか教えてもらえますか?バイナリのデバッグに頼る必要はありません。
最高の願い、 グラハム。
Argh! - 謝罪します。それは、pngを爆破させる特定のdata.frameのように見えます。さらに調査し、うまくいけば、このスレッドをより有用なもので完成させます。 –
問題は見つかったようですが、ggplot2を使っているので、 'png()'の代わりに 'ggsave()'を試してみることができます。 – Seth