簡単な分析を行う必要があります。列(または転置されている場合は行)の相関を計算するだけです。簡単ですか?私は一週間の結果を得ることができず、ここでほとんどの解決策を見てきました.
私のラップトップには4GBのRAMがあります。32 ノードのサーバーにアクセスできます。私のデータは巨大なのでここにロードできません (411k 列と 100 行)。他の情報やデータの一部が必要な場合は、ここに掲載してみますが、問題は実際にデータを見なくても簡単に説明できます。サイズ 411k X 411k の相関行列を取得する必要があるだけです。つまり、データの行間の相関を計算する必要があります。
私がコーディングしようとした概念: (それらはすべて何らかの形でメモリの問題を引き起こしたり、永遠に実行されたりします)
- 最も単純な方法は、すべてに対して 1 つの行で、append.T を使用して結果を書き出すことです。(永久に実行されます)
- bobthecat による biCorPar.r ( https://gist.github.com/bobthecat/5024079 )、データをブロックに分割し、ff 行列を使用します。(サーバーで ff() を使用して corMAT 行列を割り当てるためのメモリを割り当てることができません)
- データをセットに分割し (連続する 10000 行ごとにセットになります)、各セットを相互に関連付けます (bigcorPar と同じロジック)。 .
- 私は今これを試みています.411kに対して10000行のbigcorPar.r(したがって、10000はブロックに分割されます)で、結果を個別のcsvファイルに保存します。
- また、サーバーの 1 つのノードで 1000 対 411k ごとに実行しようとしていますが、今日は 3 日目で、まだ 71 行目です。
私は R のプロではないので、これだけしか試すことができませんでした。コードが永久に実行されるか、結果を保存するのに十分なメモリがありません。この問題に取り組むためのより効率的な方法はありますか?
すべてのコメントとヘルプに感謝します。