如何转换日期和时间间隔以适应 R 中的时间序列模型

how to convert date and time interval to fit a time series model in R

我有以下数据集,我正在尝试从变量创建时间序列模型。

>Count
    Date        TimeSlot    UserCount
    2013/06/11  6.00-6.10   0
    2013/06/11  6.10-6.20   1
    2013/06/11  6.20-6.30   0
    2013/06/11  6.30-6.40   0
    2013/06/11  6.40-6.50   2
    2013/06/11  6.50-7.00   6

如何根据以上列变量创建时间序列。?

我是时间序列分析的新手,我知道给定不同的日期值我可以使用 'xts' 包创建时间序列,如下所示。

x <- xts(Count$UserCount,Count$Date)

但是鉴于上述数据在日期和时间间隔上都是唯一的,该怎么做呢?

由于 DateTimeSlot 的组合是独一无二的,您唯一需要做的就是从中创建一个 POSIXct class。

时间 class 的形式 6.00-6.10 , 6.10-6.20 没有意义。您只能使用第一次,即 6.00 , 6.10 etc.,显然这意味着每一行代表 10 分钟的间隔。无论如何,这就是您在使用聚合时间戳时所做的事情。这是正常的方式。

所以,像这样的东西会起作用:

Count$timestamp <- as.POSIXct(paste(Count$Date, substr(Count$TimeSlot,1,4)),
                              format='%Y/%m/%d %H.%M')

#> Count
#        Date  TimeSlot UserCount           timestamp
#1 2013/06/11 6.00-6.10         0 2013-06-11 06:00:00
#2 2013/06/11 6.10-6.20         1 2013-06-11 06:10:00
#3 2013/06/11 6.20-6.30         0 2013-06-11 06:20:00
#4 2013/06/11 6.30-6.40         0 2013-06-11 06:30:00
#5 2013/06/11 6.40-6.50         2 2013-06-11 06:40:00
#6 2013/06/11 6.50-7.00         6 2013-06-11 06:50:00

然后创建您的时间序列:

library(xts)
x <- xts(Count$UserCount, Count$timestamp)