Time Customer Count
11:00 13
13:00 25
15:00 22
17:00 21
19:00 15
21:00 10
我有上述数据框,用于从11:00(上午11点)到21:00(晚上9点)进入小商店的客户数量。 我需要制作这些数据的时间序列,但是我无法为这些数据声明ts函数。从11到9只有10小时的数据,而且每两小时才会进行一次。我无法决定如何申报频率。
如果有人能提供帮助,我将非常感激。提前致谢
答案 0 :(得分:0)
一种选择是创建序列2
小时,然后过滤时间范围:
library(lubridate)
v <- seq(from = as.POSIXct("2017-01-01 11:00"),
to = as.POSIXct("2017-01-05 21:00"), by = "2 hour")
v[hour(v)>=9 & hour(v)<=21]
# [1] "2017-01-01 11:00:00 GMT" "2017-01-01 13:00:00 GMT" "2017-01-01 15:00:00 GMT"
# [4] "2017-01-01 17:00:00 GMT" "2017-01-01 19:00:00 GMT" "2017-01-01 21:00:00 GMT"
# [7] "2017-01-02 09:00:00 GMT" "2017-01-02 11:00:00 GMT" "2017-01-02 13:00:00 GMT"
# [10] "2017-01-02 15:00:00 GMT" "2017-01-02 17:00:00 GMT" "2017-01-02 19:00:00 GMT"
# [13] "2017-01-02 21:00:00 GMT" "2017-01-03 09:00:00 GMT" "2017-01-03 11:00:00 GMT"
# [16] "2017-01-03 13:00:00 GMT" "2017-01-03 15:00:00 GMT" "2017-01-03 17:00:00 GMT"
# so on few more rows.
以上seq
生成从1st January
到5th January
的时间序列,间隔为2小时。一旦生成系列,就应用过滤条件。过滤条件仅考虑hour >= 9
和hour <= 21
的时间日期。这将提供所需的时间序列。