6

非常に大きなデータセットでRパッケージzooまたはxtsを使用するにはどうすればよいですか?(100GB)この問題に対処できるbigrf、ff、bigmemoryなどのパッケージがあることは知っていますが、限られたコマンドセットを使用する必要があり、zooやxtsの機能がなく、わかりません。それらを使用するためのzooまたはxtsの作成方法。どうすれば使えますか?

sqldfやhadoopstreaming、RHadoop、またはRevolution Rで使用されるその他のものなど、データベースに関連するものもいくつかあることを確認しました。他に何をアドバイスしますか?

シリーズを集約し、クレンジングして、いくつかの共統合とプロットを実行したいだけです。毎回小さなデータを使用して、必要なすべてのコマンドに対して新しい関数をコーディングして実装する必要はありません。

追加:私はWindowsを使用しています

4

1 に答える 1

2

同様の問題が発生しました(9〜10 GBでしか遊んでいませんでしたが)。私の経験では、特にデータセットに時系列データが含まれているように見えるため、Rがそれ自体でそれほど多くのデータを処理できる方法はありません。

データセットに多くのゼロが含まれている場合は、スパース行列を使用して処理できる可能性があります。行列パッケージ(http://cran.r-project.org/web/packages/Matrix/index.html)を参照してください。このマニュアルも役立つ場合があります(http://www.johnmyleswhite.com/notebook/2011/10/31/using-sparse-matrices-in-r/

私はPostgreSQLを使用しました-関連するRパッケージはRPostgreSQLhttp://cran.r-project.org/web/packages/RPostgreSQL/index.html)です。PostgreSQLデータベースにクエリを実行できます。SQL構文を使用します。データはデータフレームとしてRにダウンロードされます。時間がかかる場合がありますが(クエリの複雑さによって異なります)、堅牢であり、データの集約に便利です。

欠点:最初にデータベースにデータをアップロードする必要があります。生データはクリーンで、読み取り可能な形式(txt / csv)で保存する必要があります。データがまだ適切な形式になっていない場合、これが最大の問題になる可能性があります。それでも、「正常に動作する」データをDBにアップロードするのは簡単です(http://www.postgresql.org/docs/8.2/static/sql-copy.htmlおよびCSVファイルデータをPostgreSQLテーブルにインポートする方法を参照してください) 。

タスクにはPostgreSQLまたはその他のリレーショナルデータベースを使用することをお勧めします。私はHadoopを試しませんでしたが、CouchDBを使用すると、ほとんど曲がり角を曲がりました。古き良きSQLに固執する

于 2013-09-24T01:13:33.040 に答える