グリッドコンピューティング環境のRでいくつかの大規模な回帰モデルを実行しています。私の知る限り、グリッドはより多くのメモリとより高速なプロセッサを提供するだけなので、この質問は強力なコンピュータでRを使用している人にも当てはまると思います。
私が実行している回帰モデルには多くの観測値があり、それぞれに多くの(10または100)レベルを持ついくつかの因子変数があります。その結果、回帰は計算集約的になる可能性があります。スクリプトに3つの回帰を並べてグリッドに送信すると、メモリの制約により終了(クラッシュ)することに気付きました。ただし、3つの異なるスクリプトとして実行すると、正常に実行されます。
クリーンアップを行っているので、各モデルの実行後に、モデルオブジェクトを別のファイルrm(list = ls())に保存してすべてのメモリをクリアし、次のモデルを実行する前にgc()を実行します。それでも、1つのスクリプトで3つすべてを実行するとクラッシュするようですが、ジョブを分割することは問題ないようです。
システム管理者は、それを分割することが重要であると言っていますが、実行するたびにクリーンアップしているのであれば、理由はわかりません。3 in oneスクリプトは、とにかくそれらを順番に実行します。3つの個別のスクリプトを実行すると機能する理由を誰かが知っていますが、1つのスクリプトですべてのモデルを実行すると、Rでメモリの問題が発生しますか?
ありがとう!EXL