2016-08-02 2 views
0

Я использую R для анализа 365 дней данных, собранных на более чем 40 000 событий. События происходят в разное время дня. Я хочу объединить события и вычислить средства с различными интервалами, такими как 2, 8, 12 или ежедневно. Я видел CUT и AGGREGATE, но, как представляется, не дает интервалов.Данные времени резки/даты с различными интервалами

Любые предложения были бы весьма полезными.

ответ

0

Для использования функции CUT необходимо сначала определить точки останова. Для этого используйте функцию seq.

mydateseq<-seq(as.POSIXct("2016-01-01"), by="2 hour", length.out = 20) 

Возможны варианты установки точек старта/остановки или количества элементов. В этом примере разрывы устанавливаются каждые 2 часа, но это настраивается. См. «Seq.POSIXt» для получения дополнительной справки. Обязательно установите start/stop для полного захвата интересующего диапазона дат. После определения последовательности даты это может быть передано функции вырезания для агрегирования или использования функции group_by в пакете dplyr.

+0

Спасибо Дэйв, это сработало отлично. Мне потребовался момент, чтобы поймать, как все это происходит вместе, но это сработало. Я протестировал его на 12-часовой группе, и теперь я могу подружиться до 2-х часовых наборов. Спасибо ... 'code') ### группа на основе 12-часовых наборов mydateseq <-seq (as.POSIXct (" 2014-12-31 "), = = 12 часов, длина.out = 750) raddata1 $ group <- cut (raddata1 $ a, mydateseq, right = FALSE) –

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