xts :: apply.weekly认为星期一是一周的最后一天

时间:2016-03-24 15:13:05

标签: r time-series xts zoo

我有一个R data.frame,每小时包含一个值

    Date                  A    B
 1  2015-11-02 00:00:00   0    0  //day start
 2  2015-11-02 00:15:00   0    0
 3  2015-11-02 00:30:00   0    0
 4  2015-11-02 00:45:00   0    0
 ...
 96 2015-11-02 23:45:00   0    0 //day end
 97 2015-11-03 00:00:00   0    0 //new day 
 ...
 6  2016-03-23 01:15:00   0    0 //last record

我使用xts构建时间序列

xtsA <- xts(data$A,data$Date)

使用apply.daily我得到了我期望的结果

apply.daily(xtsA, sum)    

    Date                   A
1   2015-11-02 23:45:00    400
2   2015-11-03 23:45:00    400
3   2015-11-04 23:45:00    500

但是apply.weekly似乎使用星期一作为一周的最后一天

    Date                   A
19  2016-03-07 00:45:00    6500     //Monday
20  2016-03-14 00:45:00    5500     //Monday
21  2016-03-21 00:45:00    5000     //Monday

我不明白为什么它使用 00:45:00 。有谁知道吗?

1 个答案:

答案 0 :(得分:1)

从CSV文件导入数据,Date列如下所示:

TableModelListener

错误在日期时间解释中并使用

data <- read.csv("...", header=TRUE)

    Date            A
1   151102 0000     0
...

解决它,现在data$Date <- as.POSIXct(strptime(data$Date, "%y%m%d %H%M"), tz = "GMT") 返回

apply.weekly