我是stackoverflow社区的新手,这是我提出的第一个问题。如果我做错了,请告诉我。
这是我的问题的情况。我正在处理澳大利亚的电价,我的时间序列看起来像这样。这是一个每30分钟采样一次的高频数据。
> head(t)
VIC NSW QLD SNOWY SA
1999-01-01 00:00:00 26.84 24.29 26.52 26.20 29.87
1999-01-01 00:30:00 30.52 27.64 19.34 29.74 36.01
1999-01-01 01:00:00 28.74 26.64 17.47 28.34 35.70
1999-01-01 01:30:00 27.94 25.81 17.08 27.43 31.67
1999-01-01 02:00:00 20.90 19.94 15.84 20.86 22.42
1999-01-01 02:30:00 20.26 19.48 15.68 20.28 21.38
> tail(t)
VIC NSW QLD SNOWY SA
2006-12-31 21:00:00 14.59 15.10 13.72 15.35 29.60
2006-12-31 21:30:00 14.77 15.42 14.12 15.61 28.79
2006-12-31 22:00:00 14.12 15.01 13.54 15.06 20.59
2006-12-31 22:30:00 15.15 16.19 15.10 16.21 17.44
2006-12-31 23:00:00 15.17 16.14 15.48 16.18 17.84
2006-12-31 23:30:00 16.96 17.14 16.37 17.63 20.20
> class(t)
[1] "xts" "zoo"
我试图在一天内为每个时间点提出平均价格。所以我这样做了:
> half.hourly.means <- aggregate(t$VIC, list(format(index(t), "%H:%M")), FUN = mean)
> head(half.hourly.means)
00:00 26.99938
00:30 24.67273
01:00 21.78190
01:30 26.46662
02:00 21.27931
02:30 18.57727
> tail(half.hourly.means)
21:00 27.86881
21:30 26.65468
22:00 23.51793
22:30 25.68527
23:00 23.26385
23:30 30.01726
> class(half.hourly.means)
[1] "zoo"
此结果是整个样本期间每个时间点的平均价格。到目前为止,一切都很好。但是当我试图绘制它时,发生了错误。
> plot(half.hourly.means)
Error in plot.window(...) : need finite 'xlim' values
In addition: Warning messages:
1: In xy.coords(x, y, xlabel, ylabel, log) : NAs introduced by coercion
2: In min(x) : no non-missing arguments to min; returning Inf
3: In max(x) : no non-missing arguments to max; returning -Inf
当我尝试这个时
> plot(as.numeric(half.hourly.means), type = "l")
(由于缺乏声誉,我没有张贴图片,抱歉)
它产生正确的图,但是没有无意义的x轴值。所以我的问题是:如果用x轴值为“00:00”,“00:30”,“01:00”,生成上图,可以做些什么?...
感谢您的耐心等待!
致以最诚挚的问候,
卫