2

私の R アプリケーションは、大きな txt ファイルから入力データを読み取ります。ファイル全体を一度に読み取るわけではありません。ユーザーは遺伝子の名前を指定し (一度に 3 つまたは 4 つ)、ユーザー入力に基づいて、アプリは適切な行に移動し、データを読み取ります。

ファイル形式: 32,000 行 (1 行に 1 つの遺伝子、最初の 2 列には遺伝子名などの情報が含まれます) 数値データ (10 進数) を含む 35,000 列。

read.table (filename, skip=10,000 ) などを使用して右の行に移動し、35,000 列のデータを読み取りました。次に、2 番目の遺伝子、3 番目の遺伝子 (最大 4 つの遺伝子) に対してこれを繰り返し、数値結果を処理します。

ファイルの読み取り操作には、約 1.5 ~ 2.0 分かかります。ファイル全体を読み取ってから、目的の遺伝子のデータを取得する実験を行っています。

これを加速する方法はありますか?遺伝子データを別の形式に書き換える(1 回処理)こともできますが、それが将来の読み取り作業を高速化するのであれば可能です。

4

2 に答える 2

2

これは、データベース インターフェイスを使用するとより効率的になります。パッケージ経由で利用できるものはいくつかありますRODBCが、R との統合が特に優れているオプションはsqldf、デフォルトで SQLite を使用するパッケージです。その後、データベースのインデックス作成機能を使用して、正しい行を検索し、1 回の操作ですべての列を読み取ることができます。

于 2013-06-27T16:42:10.330 に答える