R で大規模データを処理する†
R では大規模なデータを扱うのは無理で、そのようなデータは SAS や SPSS、またはなんらかのライブラリを使うということは常識なのか?
以下に大規模データを処理する方法を書いていくつもり...
RDBMS を使う†
並列処理を使う†
大規模な計算をする中で、並列処理が可能な計算を行う場合、以下のようなライブラリを利用することが可能。
基本的には「分割」→「演算」→「集約」の手順で実装してある。
もちろんマルチコアかクラスター環境じゃないとあまり意味が無いのだが…。
とりあえず、列挙。使い方はしばし待たれよ…。
- snow:(Simple Network On Workstationの略)並列計算クラスターを作成するためのライブラリ。
- foreach:バックエンドに依存しない形で並列処理をするためのライブラリ。
- doSNOW:foreach内部で利用できるsnow。特にsnowライブラリはいらないが、ちょっとsnowとは使い方が違う。
大規模なメモリーを扱えるパッケージ†
- bigmemory: 「big.matrix」形式のデータを扱うための基本ライブラリ。
- biganalytics: 「big.matrix」形式に対応した基本的な分析ツール。applyやbiglm(要biglmライブラリ)などが利用できる。
- bigtabulate: 「big.matrix」形式に対応した基本的な集計ツール。「big.matrix」版table「bigtable」などが利用できる。
- memisc: データ管理、シミュレーションと評価の表示
- filehash
- Peng RD: Interacting with data using the filehash package. R News 6(4):19-24, 2006.
- ff: memory-efficient storage of large atomic vectors and arrays on disk and fast access functions
- DatABEL: HDD 上にバイナリ形式で蓄積された巨大行列へのファイルベースのアクセス
特定用途向け†
参考リンク†