4

それ自体がリストであるRオブジェクトのリストがあるとします。各リストには、データ、データに適合するモデル、およびデータを識別するためのいくつかの属性という定義された構造があります。一例として、特定の国における特定の経済指標の時系列があります。したがって、私のリストオブジェクトには次の要素があります。

data-経済指標の過去の時系列

country-国の名前、たとえば米国

name-指標名、たとえばGDP

model-ARIMAの注文はauto.arima、適切な形式で見つかりました。これもリストである可能性があります。

これは単なる例です。私が言ったように、私はそのようなオブジェクトの数をリストに結合していると仮定します。適切な形式で保存したいと思います。明らかな解決策は単にを使用することsaveですが、これは多数のオブジェクトに対してはあまり拡張性がありません。たとえば、オブジェクトのサブセットのみを検査したい場合は、すべてのオブジェクトをメモリにロードする必要があります。

私のデータがdata.frame Iの場合、データベースに保存できます。データの特定のサブセットを操作したい場合は、SELECTを使用し、データベースを使用して必要なサブセットを提供します。SQLiteはこの点で私に役立ちました。MongoDBのような派手なデータベースを使用して、記述したリストオブジェクトに対してこれを複製することは可能ですか?それとも、リストをいくつかの関連するテーブルに変換する方法を単純に考える必要がありますか?

これに対する私の動機は、適合モデルに関するさまざまなレポートを簡単に生成できるようにすることです。lapply特定のオブジェクトに関するレポートを作成し、オブジェクトのリストで使用する一連の関数を作成できます。理想的にはこのプロセスを並列化したいのですが、これは別の問題です。

4

3 に答える 3

4

I think I explained the basics of this somewhere once before---the gist of it is that

  • R has complete serialization and deserialization support built in, so you can in fact take any existing R object and turn it into either a binary or textual serialization. My digest package use that to turn the serialization into hash using different functions

  • R has all the db connectivity you need.

Now, what a suitable format and db schema is ... will depend on your specifics. But there is (as usual) nothing in R stopping you :)

于 2012-07-24T13:59:48.750 に答える
1

この質問は長い間非アクティブでした。最近、同様の懸念があったので、私が見つけた情報を追加したいと思います。私は、質問で次の 3 つの要求を認識しています。

  • データを適切な構造に格納する
  • サイズとアクセス時間に関するスケーラビリティ
  • データのサブセットのみを効率的に読み取る可能性

リレーショナル データベースを使用するオプションの他に、HDF5大量のラージ オブジェクトを格納するように設計されたファイル形式を使用することもできます。どちらを選択するかは、データのタイプと目的のアクセス方法によって異なります。

次の場合は、リレーショナル データベースを優先する必要があります。

  • 原子データ項目は小さいサイズです
  • 異なるデータ項目が同じ構造を持っている
  • データがどのサブセットで読み取られるかは予測されません
  • あるコンピューターから別のコンピューターへのデータの便利な転送は問題ではなく、データが必要なコンピューターはデータベースにアクセスできます。

次の場合は、HDF5 形式をお勧めします。

  • アトミック データ項目は、それ自体が大きなオブジェクト (行列など) です。
  • データ項目が異種であるため、それらをテーブルのような表現に結合することはできません
  • ほとんどの場合、データは事前​​にわかっているグループで読み取られます
  • あるコンピューターから別のコンピューターにデータを移動するのにそれほど労力は必要ありません

relationalさらに、との関係を区別することができhierarchial、後者は前者に含まれます。HDF5 ファイル内では、情報チャンクを階層的に配置できます。たとえば、次のようになります。

/Germany/GDP/model/...
/Germany/GNP/data
/Austria/GNP/model/...
/Austria/GDP/data

HDF5 ファイルを処理するためのrhdf5パッケージは、Bioconductorで入手できます。HDF5 形式に関する一般的な情報は、こちらから入手できます。

于 2014-02-08T20:49:47.637 に答える
0

同じかどうかはわかりませんが、時系列オブジェクトについては、次のような良い経験がありました。

str() 

多分あなたはそれを調べることができます。

于 2012-07-24T17:17:55.897 に答える