R исчерпывает память только после использования ~ 200 МБ - PullRequest
1 голос
/ 24 июля 2011

У меня есть следующий скрипт:

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

mydata $ Date и $ Price имеют длину 98385. Кажется, что данные читаются нормально, я могу выполнять вычисления без проблем. Я могу построить новые векторы на основе этих данных, но не могу строить графики против них.

Если я попытаюсь, я получаю следующую ошибку:

Ошибка: невозможно выделить вектор размером 8,1 ГБ Дополнительно: Предупреждающие сообщения:
1: В rep.int (boxwex, n):
Достигнуто общее выделение 6135 МБ: см. Справку (memory.size)

Это фальшивка. В среднем происходит сбой ~ 170 МБ. Я использую Rgui с R-2.12.2 на 64-битной Win7. И общее использование памяти, как сообщает диспетчер задач, составляет ~ 2 ГБ для всей системы (из 6 ГБ, которые у меня есть).

Я не понимаю, как у меня не хватает памяти.

1 Ответ

2 голосов
/ 25 июля 2011

Хорошо, ошибка Out Of Memory явно не имеет ничего общего. Просто CSV-парсер не распознает значения столбца Date как дату и время вместе. Требуется дополнительное принуждение. Благодаря предложениям в ответах на мой вопрос + Google я нашел правильную функцию для работы. Следующий код работает так, как я хотел:

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

Я вроде понимаю, что он действительно не знает, чего я мог бы хотеть от столбца CSV, но ошибка Out Of Memory просто кажется совершенно неправильной реакцией на это.

...