4

マトリックスの値、具体的には "t"->1 および "f"->0 を置き換えようとしていますが、エラー メッセージが表示され続けます。

Error: cannot allocate vector of size 2.0 Mb
...    
Reached total allocation of 16345Mb: see help(memory.size)

RStudio の 64 ビット バージョンの R で 16 GB のメモリを搭載した Win7 コンピューターを使用しています。

私が現在実行しているのは

a <- matrix( dataset, nrow=nrow(dataset), ncol=ncol(dataset), byrow=TRUE)
memory.size()
a[a=="t"] <- 1

ここで、データセットは (約) 525000x300 サイズのデータ​​ フレームです。このmemory.size()行では、使用されているのは 4GB 未満で、memory.limit()16GB です。置換行の実行に大量のメモリが必要なのはなぜですか? メモリ制限に達することなく置換を行う方法はありますか (また、一般的にそれを回避するための良いヒントはありますか)、もしそうなら、それを実行するのに多くの時間がかかりますか? 私はまだRにかなり慣れていないので、使用するデータクラスとRがメモリを割り当てる方法によって違いが生じるかどうかはわかりません...

4

1 に答える 1