ここ数日、7000x7000 の距離行列を作成する必要があるという問題について投稿してきました。すべてをメモリ上で実行すると、割り当てベクトルエラーが発生しませんでした。Windows XP SP 3、3GB RAM、32 ビット システムを使用しています。もともと bigmemory ライブラリを使用したかったのですが、Windows では使用できないようです。私は でいくつかの読書をしたff package
ので、これは私がこれまでに思いついたものです:
require(ff)
ffmat <- ff(vmode="double", dim=c(7000,7000))
ffmat <- as.matrix(dist(data[1:7000, ], diag=TRUE, upper=TRUE))
問題は、まだベクトル割り当てエラーが発生することです。dim(data)
= 7000x182 (多くの変数) で あることに注意してください。
gc()
事後分析を実行すると、memory.size()
背中が正常なレベルに戻ります。作成された ff に書き込む前に、R が結果をメモリに格納しているかのようです。これを回避する方法はありますか?