data.table fread 関数を使用して読み取ることができる行数に制限があるかどうかを知りたかったのです。40 億行、4 列、約 40 GB のテーブルを使用しています。fread は最初の ~ 8 億 4000 万行のみを読み取るようです。エラーは発生しませんが、すべてのデータを読み取ったかのように R プロンプトに戻ります。
現時点では fread は「製品用」ではないことを理解しており、製品リリースの実装に時間枠があるかどうかを知りたいと考えていました。
私が data.table を使用している理由は、そのようなサイズのファイルの場合、data.frame などにファイルをロードする場合と比較して、データの処理が非常に効率的だからです。
現時点では、他の2つの選択肢を試しています-
1) スキャンを使用して data.table に渡す
data.table(matrix(scan("file.csv",what="integer",sep=","),ncol=4))
Resulted in --
Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :
too many items
2)ファイルを複数の個々のセグメントに分割し、制限は約です。Unix分割を使用して5億行を順次読み取ります...次に、ファイルを順次freadにループします-少し面倒ですが、唯一の実行可能なソリューションのようです.
これをさらに高速に行う Rcpp の方法があると思いますが、一般的にどのように実装されているかはわかりません。
前もって感謝します。