2011-07-24 9 views
1

を消費した後にメモリ不足:Rは、私は次のスクリプト持っているだけで〜200メガバイト

mydata <- read.csv(file="priceData.txt", head=TRUE, sep='\t')  
plot(mydata$Date, mydata$Price) 

MYDATAの$日付と$価格をデータの罰金を読んでいるようだ長98385.のものであり、私は上の計算を行うことができますそれは問題ありません。私はそのデータに基づいて新しいベクトルを構築することができますが、それに対してプロットすることはできません。

私がしようとすると、私は次のエラーが表示されます

Error: cannot allocate vector of size 8.1 Gb In addition: Warning messages:
1: In rep.int(boxwex, n) :
Reached total allocation of 6135Mb: see help(memory.size)

これは偽です。クラッシュが発生したときに平均で〜170MBを使用しています。 64ビットWin7でRguiをR-2.12.2で実行しています。タスクマネージャーから報告された合計メモリ使用量は、システム全体で約2GB(6GBのうち)です。

私はどのようにメモリが不足しているのか分かりません。

+0

plotコマンドを "plot(mydata $ Price)"に変更すると、それはうまくプロットされます...それで、それはそれをトリップする2軸だけです。 –

+0

おそらくそれは2軸だが、1つの軸が日付オブジェクトだとは思わない?価格やそれに類するものに対して価格をプロットしてみてください。 ここでメモリの制限を変更することができます:http://stat.ethz.ch/R-manual/R-devel/library/utils/html/memory.size.html あなたはそれを言って、助けを見ましたか?サイズ)? –

+0

'str(myData)'の出力を報告できますか? – Iterator

答えて

2

いいえ、Out of Memoryエラーは明らかに何もしません。 CSVパーサーは、Dateカラム値をDateとTimeを組み合わせたものとして認識しません。余分な強制が必要です。私の質問+グーグルへの返事の提案のおかげで、私は仕事のための適切な機能を見つけました。

plot(as.POSIXlt(mydata$Date, format="%m/%d/%Y %H:%M:%S %p"), mydata$Price) 

私は一種のそれは本当に私はCSV列から必要かもしれないものを知りませんが、メモリ不足エラーがちょうど正確に間違った反応のように思えることを理解し、次のコードは、私はそれを望んでいたとして働きますこれに。

+0

それは "CSV"列ではなく、ヒストグラムではないヒストグラムである – mdsumner

+0

笑、ボックスとウィスカーのプロットです。 – mdsumner

+0

私の質問に対するコメントでも、それは私が日付フィールドを犯人として指摘した方法です。問題はOutOfMemoryが間違ったエラーであることです(それはほとんど消費しません)。少なくとも、どのフィールドがそれを引き起こしているのかは分かっているはずです。私のようなノブは、そのような状況を分析するための設備がないだけです。より有益なエラーは、少なくとも私に明確な質問を求める私につながるだろう:) –

関連する問題