R Forecast Package TS对象,其中包含每小时数据和设置开始时间

时间:2018-08-04 01:18:33

标签: r forecast

我试图查看是否可以在ts() R包中设置forecast函数的开始和结束参数。这样做的原因是然后使用window()来按日期将traintest设置为子集。

时间范围是从2015-01-01 00:00:0012/31/2017 23:00

                 index esti
2015-01-01 00:00:00    1
2015-01-01 01:00:00    2
2015-01-01 02:00:00    3
2015-01-01 03:00:00    2
2015-01-01 04:00:00    5
2015-01-01 05:00:00    2
...
2017-12-31 18:00:00    0
2017-12-31 19:00:00    1
2017-12-31 20:00:00    0
2017-12-31 21:00:00    2
2017-12-31 22:00:00    0
2017-12-31 23:00:00    4

我使用以下语法创建时间序列对象:

tmp <- ts(dat, start = c(2015,1), frequency=24)

返回的对象是这个:

Time Series:
Start = c(2015, 1) 
End = c(2015, 6) 
Frequency = 24 

这里ts对象似乎不正确...

1 个答案:

答案 0 :(得分:0)

据我了解,ts对象无法按小时输入。建议您改用xtszoo软件包。参见this SO post

尝试以下操作:

## Creating an entire hourly dataframe similar to the example dat
x <- 
  lubridate::parse_date_time(
    c("2015-01-01 00:00:00", "2017-12-31 23:00:00"), 
    orders = "ymdHMS"
  )
y <- seq(x[1], x[2], by = "hour")
dat <- data.frame(
  index = y, esti = sample(seq(0, 10), size = length(y),
 replace = TRUE)
)

## xts package
library(xts)
tmp <- xts(dat, order.by = dat$index)

## Example window-ing
window(tmp, end = y[100])

让我知道这是否奏效。