1

マトリックス (y) に変換する大きなテーブル (x) があります。

2 つの異なるコマンドを使用しました。

x <- reshape(y, direction="wide", v.names="column1", 
             timevar="column2", idvar="column3")

また

x <- cast(x, column1~column2)

数時間待つと、エラー メッセージが表示されます。

 Error: cannot allocate vector of size 87 KB

さらに: 50 件以上の警告がありました (最初の 50 件を表示するには warning() を使用します)。

と入力warnings()すると、不平を言っていることがわかりました

Reached total allocation of 1535 Mb:
see help(memory.size)

2 回目の試行では、memory.size(TRUE)最初に " と入力すると、次のメッセージが表示されます。

[1] 12.88

その後、もう一度分析を行います。ただし、同じエラー メッセージが表示されます。

Windows 2000 のデスクトップ PC を使用しています。R2.12.0 を使用しています。

この問題を取り除くことが可能かどうか教えていただけませんか?

最初に「12.88」と入力したときに教えてmemory.size(TRUE)いただけますか? 12G 物理はすべて、2 回目の試行で R によってすぐに使用される RAM であることを意味しますか?

4

2 に答える 2

1

ほとんどの Windows システムでは、メモリ使用量は非常に限られています (R の場合)。

memory.size の代わりに memory.limit の結果を確認し、さらに memory.limit を使用して変更します。

最良のシナリオでは、これをおそらく 4 Gb まで上げることができますが、それでも目的には小さすぎる可能性があります (OS の詳細によって異なります - どうやら、マシンには十分な RAM があるため、ここでは物理メモリは問題ではありません(まだ))。

詳細については、 rw-FAQを参照してください。

于 2011-04-19T07:38:40.913 に答える
0

12GB の RAM を搭載しているか、または 64 ビット版の Windows 2000 を実行していますか? 読むと、値がGB ではなくバイト単位?memory.sizeであることがわかります。

メイン メッセージは、物理メモリが不足していることを示しています。1535MB の警告に記載されている量は、2GB の物理 RAM を搭載したマシン、またはその量にしかアクセスできない、またはそのような量を単一のプロセスに割り当てることができる OS を示しています。実際に 12 GB の物理 RAM がある場合は、64 ビット プロセッサ上の 64 ビット バージョンの Windows で 64 ビット バージョンの R を実行する必要があります。これらはすべて当てはまりますか?たとえば、2 GB の RAM を搭載したマシンで実行しているか、32 ビット バージョンの R を使用しているように見えます。

問題は、R がアクセスできる利用可能な RAM を使い果たすことに要約されます。それを解決するか、問題を小さなチャンクに分割し、それぞれの小さなチャンクを再形成してからそれらをくっつけることができるかどうかを確認してください。

于 2011-04-19T07:40:02.967 に答える