「処理」とは、データの複数列の行を操作することを意味します。Rは、Excel、SPSS、SASなどのツールとどのように連携しますか?Rは「ビッグデータ」(数億から数十億の行)を調べるための実行可能なツールですか?そうでない場合、大規模なデータセットの分析に最適な統計プログラミングツールはどれですか?
4 に答える
CRANのHigh-Performance Computing Task Viewを見ると、R が高性能という意味で何ができるかがよくわかります。
R はベクトルで 32 ビット インデックスを使用するため、現在、ベクトルと行列は 2^31 - 1 要素に制限されていることを除いて、 RAM と同じくらい多くのデータをプリンシパルに格納できます。一般的なベクトル (リストとその派生データ フレーム) は 2^31 - 1 コンポーネントに制限されており、これらの各コンポーネントにはベクトル/マトリックス/リスト/data.frames などと同じ制限があります。
もちろん、これらは理論上の制限です。R のデータで何かをしたい場合、R は通常、関数などに渡されたデータをコピーするため、少なくともいくつかのコピーを保持するためのスペースが必然的に必要になります。
(RAM ではなく) ディスク ストレージを使用できるようにする取り組みがあります。しかし、それらでさえ、いつでも R で使用されている上記の 2^31-1 制限に制限されます。@Roman の投稿にリンクされているハイ パフォーマンス コンピューティング タスク ビューの「 Large memory and out-of-memory data 」セクションを参照してください。
R が "ビッグ データ" に適していることを示す良い例は、Kaggle.com のデータ モデリング コンテストに参加する開発者が選択するプラットフォームとして R が登場したことです。Revolution Analytics Web サイトの記事を参照してください-- R は、SAS と SPSS をかなりの差で打ち負かしています。R が箱から出してすぐに使用できる数値処理能力に欠けているものは、明らかに柔軟性で補っています。
Webで入手できるものに加えて、ビッグ データに取り組むために R をホットロッドする方法についての新しい本がいくつかあります。The Art of R Programming (Matloff 2011; No Starch Press) では、最適化された R コードの記述、並列計算、および C と組み合わせた R の使用について紹介しています。この本全体は、優れたコード サンプルとウォークスルーでよく書かれています。 Parallel R (McCallum & Weston 2011; O'Reilly) も良さそうです。
Rとビッグデータセットで私の短編小説を説明します。
RからRDBMSへのコネクタがありました。
- ここに80mlnの化合物を保管しました。
このデータのサブセットを収集するクエリを作成しました。
次に、このサブセットを操作します。Rは、私のPCのメモリに20万行を 超える
行で窒息していました。
- コアデュオ
- 4GBのRAM
したがって、マシンに適したサブセットで作業することは良いアプローチです。