2016-03-24 27 views
1

我有一個包含一個價值每刻鐘用於R data.frame的最後一天XTS :: apply.weekly認爲星期一是一週

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似乎ŧ o使用星期一作爲一週

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 

的最後一天,我不明白爲什麼它使用0點45分00秒。有人知道嗎?

+0

這可能是一個時區問題,但很難說肯定沒有[可重現的例子](http:// stac koverflow.com/q/5963269/271616)。 –

回答

1

數據從CSV導入文件中的日期列如下:

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回報

 Date     A 
1 2015-11-08 23:45:00 3500 //Sunday 
2 2015-11-15 23:45:00 4000 //Sunday 
... 
相關問題