大きな (~700Mb) .csv ファイルを R に読み込もうとしています。
このファイルには、256 未満の整数の配列が含まれており、1 つのヘッダー行と 2 つのヘッダー列があります。
私が使う:
trainSet <- read.csv(trainFileName)
これは最終的に次のようにbarfsします。
Loading Data...
R(2760) malloc: *** mmap(size=151552) failed (error code=12)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
R(2760) malloc: *** mmap(size=151552) failed (error code=12)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
Error: cannot allocate vector of size 145 Kb
Execution halted
メモリ使用量を見ると、クラッシュ時にページ ファイルの使用量がゼロの 6Gb マシンで約 3Gb の使用量が発生したため、別の修正方法がある可能性があります。
私が使用する場合:
trainSet <- read.csv(trainFileName, header=TRUE, nrows=100)
classes = sapply(train,class);
すべての列が「整数」としてロードされていることがわかります。これは 32 ビットだと思います。
3Gb を使用して 700Mb の .csv ファイルの一部をロードすることは、明らかに効率的ではありません。Rに列に8ビットの数値を使用するように指示する方法があるのだろうか? これは私が過去にMatlabで行ったことであり、うまくいきましたが、Rで8ビット型についての言及がどこにも見つからないようです.
それは存在しますか?read.csv を使用するように指示するにはどうすればよいでしょうか。
助けてくれてありがとう。