2016-03-24 7 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 кажется т о использовании в понедельник в последний день недели

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. Кто-нибудь знает?

+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 
... 

 Смежные вопросы

  • Нет связанных вопросов^_^