私はSASを5年近くプロとして使用しています。私はそれをラップトップにインストールし、1,000〜2,000の変数と数十万の観測値を持つデータセットを頻繁に分析する必要があります。
私は、同様のサイズのデータセットで分析を実行できるSASの代替を探しています。このような状況で他の人が何を使用するのか興味があります。これは確かに、今日使用されている方法では「ビッグデータ」ではありません。また、私のデータセットはメモリ内に保持するのに十分なほど小さくありません。ハードドライブに保存されたデータにアルゴリズムを適用できるソリューションが必要です。これらは私が役に立たないと調査したものです:
- R-BigMemoryはメモリ外に格納された行列を作成できますが、要素は同じモードでなければなりません。私は、文字と数値がほぼ50/50に分割されているデータを使用しています。FFパッケージは必要なものに近づきますが、どのプロシージャがFFパッケージと互換性があるのかよくわかりません。サポートはやや限られていると思います。
- Pandas-RのPythonの代替案に非常に興奮しました。しかし、それもすべてのデータをメモリに保持する必要があります。
- Revolution R-これはかなりの見込みを示しています。自宅のコンピューターにコピーがあり(Kaggleにサインアップした場合は無料)、SASの実行可能な代替手段としてまだテストしていません。SASの代替としてのRevolution Rに関するコメントは大歓迎です。
ありがとう
更新1
編集して、私が実際に使っている実用的なソリューションを探しています。ほとんどの場合、SASを使用すると、メモリの制約について少し心配することなく、大きなファイルを一気に検索できます。SASが実装されている場合、メモリ管理をユーザーに対して透過的にする方法を見つけました。しかし、私は仕事にSASを使用しなければならなかったので、データがどこにあるのかをあまり考えずに「大きな」データに取り組むことができるFOSSの代替手段が大好きです。特定の時間(メモリ内またはディスク上)。
私が遭遇した最も近いものは、RのFFパッケージとPythonの地平線上にあるBlazeと呼ばれるものです。それでも、これらの問題は長年にわたって存在していたので、その間にアナリストは何をしていたのでしょうか?メモリ制限でこれらの同じ問題をどのように処理していますか?提供されているソリューションの大部分は次のようです。
- RAMを増やす-これは良い解決策ではありません、imo。RAMを超えてもハードドライブに収まるデータセットを簡単に見つけることができます。さらに、ワークフローは、探索的データ分析中に作成されるすべての構造に対応する必要があります。
- データのサブセット化-これは調査には適していますが、結果とレポートの最終処理には適していません。最終的には、サブセットで開発されたプロセスはすべて、データセット全体に適用する必要があります(私の場合、とにかく)。
- データのチャンク-これは、このワークフローを実際に実装している人々からもっと知りたいことです。どうやって?どのツールで?ユーザーに対して透過的な方法で実行できますか?(つまり、ディスク上のデータ構造を作成し、フレームワークが内部のチャンクを処理します)。