R用as.POSIXlt / ct预测

时间:2014-10-29 08:17:45

标签: r time-series forecasting

美好的一天

我在这里的一篇文章中读到"函数forecast :: plot.forecast不能与axis.Date或axis.POSIXct一起使用(在包预测中没有使用)。 #34;这可以在这里看到:custom axis labels plotting a forecast in R

然而,他们设法使用预测包和一些代码来获得正确的轴标签。但是,此示例适用于季度数据。此外,这个例子使用' as.POSIXlt'适用于每周数据:Forecasting time series data

我已尝试使用代码,但我无法使用每月数据。所以我的轴标签仍然是错误的。我很难过。请您帮我建议如何使用预测包正确反映轴标签?

实施例

library(forecast)
headcount<-c(2475,2468,2452,2464,2500,2548,2536,2565,2590,2608,2625,2663)
date<-c("2013/01/31","2013/02/28","2013/03/31","2013/04/30","2013/05/31","2013/06/30",
"2013/07/31","2013/08/31","2013/09/30","2013/10/31","2013/11/30","2013/12/31")

x<-data.frame(headcount,date)
t<-ts(x$headcount,start=c(2013,1),end=c(2013,12),frequency=12)
fit<-forecast(t,h=12)
plot(forecast(fit))

通过这样做,轴标签出现为2013.0,2013.5,2014.5

我知道这只是一年的数据。我对如何修复月度数据的轴标签感兴趣,

亲切的问候 d

1 个答案:

答案 0 :(得分:4)

这是使用提供的链接的可能解决方案

plot(forecast(fit), axes = FALSE)
a <- seq(as.Date(date[1]) + 1, by = "months", length = length(date) + 11)
axis(1, at = as.numeric(a)/365.3 + 1970, labels = format(a, format = "%m/%Y"), cex.axis = 0.9)
axis(2, cex.axis = 0.9)

enter image description here