5

私は、いくつかのファイルを結合してマスター ファイルを作成しようとしています。同じ構造のファイルが 5 つあり、各ファイルを個別にデータ フレームに問題なく読み込むことができます。Rに決定させるのではなく、200以上の変数の列クラスを手動で設定しました。これが問題の原因であると信じていたからです。ただし、2 つのファイルを一緒に追加すると、メモリが不足します。

警告メッセージ: 1: rbind(deparse.level, ...) 内: 4043Mb の合計割り当てに達しました: help(memory.size) を参照してください

そこで、実験を行いました。ファイル 1 の 2 つの異なるチャンクを結合しました。それはうまくいきます。ファイル 2 のチャンクをファイル 1 のチャンクに結合しました。ファイル 2 のチャンクを元のファイル 1 に結合しました。

これらの各ファイルは 200MB を少し下回るサイズなので、メモリ不足になるかどうかはわかりません。興味のある方は、 hearstchallenge.comからデータを入手してください。競争はとうの昔に終わりました。私たちはデータを分析実験に使用しているだけです (プログラミングではありません!)。

これを解決する方法について何か提案はありますか?

4

1 に答える 1

1

私は同様の問題に遭遇しました。解決策は、大きなデータに対して rbind() または cbind() を使用しないことです。それらはメモリ リークを起こしやすい傾向があります。

R のみを使用して問題を解決するには、最初に、ピースをまとめた後にデータフレームが持つディメンションのデータフレームを作成します。次に、割り当てを使用して大きなデータフレームを埋めます。

于 2013-03-21T20:29:12.170 に答える