Ошибка R / ggplot: слишком велика для хеширования - PullRequest
1 голос
/ 16 марта 2011

Я строю график временного ряда, используя ggplot, однако всякий раз, когда размер фрейма данных превышает примерно 600, ggplot выдает следующую ошибку:

Ошибка в anyDuplicated.default (breaks): длина 1136073601 слишком велика для хеширования

На самом деле, я просто выдает ту же ошибку, когда пытаюсь построить 400 элементов.

Данные расплавляются так, за исключениемЕсть четыре переменные: скорость, реж, темп и давление:

                   time variable       value
1   2006-07-01 00:00:00    speed    4.180111
2   2006-07-02 00:00:00    speed    5.527226
3   2006-07-09 00:00:00    speed    6.650821
4   2006-07-16 00:00:00    speed    4.380063
5   2006-07-23 00:00:00    speed    5.641709
6   2006-07-30 00:00:00    speed    7.636913
7   2006-08-06 00:00:00    speed    7.128334
8   2006-08-13 00:00:00    speed    4.719046
...
201 2006-07-01 00:00:00     temp   17.140069
202 2006-07-02 00:00:00     temp   17.517480
203 2006-07-09 00:00:00     temp   14.211002
204 2006-07-16 00:00:00     temp   20.121617
205 2006-07-23 00:00:00     temp   17.933492
206 2006-07-30 00:00:00     temp   15.244583

Мой код для их построения основан на том, что я нашел здесь: http://had.co.nz/ggplot2/scale_date.html

qplot(time,value,data=test3,geom="line",group=variable) + 
+ facet_grid(variable ~ ., scale = "free_y")

Любые указатели иЯ был бы очень признателен !!

Чтобы поменять дату от символа к дате, я использую:

test$time <- strptime(test$time, format="%Y-%m-%d %H:%M:%S")
test$time <- as.POSIXct(test$time, format="%H:%M:%S")
test3 = melt(test,id="time")

class (test $ time) возвращает "[1] "POSIXt" "POSIXct""

1 Ответ

1 голос
/ 18 апреля 2011

Попробуйте установить часовой пояс явно при вызове as.POSIXct (), как в https://gist.github.com/925852

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...