2011-03-16 44 views
1

我使用ggplot绘制时间序列图,然而每当所述数据帧的大小大于约600时,ggplot引发以下错误:R/ggplot错误:太大散列

Error in anyDuplicated.default(breaks) : length 1136073601 is too large for hashing

事实上,当我尝试绘制400个物品时,它只给了我同样的错误。

数据被融化,像这样,除了有四个变量 - 速度,DIR,温度和压力:

    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") 

类(测试$ time)返回"[1] "POSIXt" "POSIXct""

+0

嗯。尝试更新plyr?这可能与一个旧的bug有关。 – hadley 2011-03-16 12:40:29

+0

我似乎有1.4版本。我试图更新,但它似乎更新除Plyr之外的所有内容!如果我使用文本文件在本地机器上运行它,它似乎可以,但远程使用RMySQL不起作用 – Chris 2011-03-16 13:52:28

+0

此外,偶然,我需要做些什么来显示缺少数据的数据缺口? – Chris 2011-03-16 13:54:32

回答