0

R で FORTRAN プログラムを呼び出し、FORTRAN の出力ファイルを分析していますが、これは少し大きいです (反復ごとに約 50M)。反復ごとに約 50 秒かかり、read.tableコマンドには 42 秒かかります。このプログラムを 100,000 回繰り返す必要があるため、高速化するためのより良い方法があるかどうか疑問に思っています。

たとえば、FORTRAN ですべてをメモリに保存して R に渡すことは可能ですか?

ありがとう!

4

1 に答える 1

4

絶対に - ファイルを Fortran でバイナリ ファイルとして書き込み、readBin()R でそれらを読み取るだけで、非常に高速になります。ただし、エンディアン、4 バイト対 8 バイト浮動小数点などを確認してください。

テスト済みのライブラリが必要な場合は、RProtoBuf などのさまざまなシリアライゼーション ライブラリを調べてください。ただし、Fortran バインディングがいくつあるかはわかりません...

編集:アドオン ページによると、プロトコル バッファと Fortran はうまくいきません。おそらく、hdf5 のような科学的な形式の方が適しているでしょう。

于 2012-10-24T21:57:23.380 に答える