Я имею годовую почасовые данные в кадре данных в R:Агрегирования, реструктуризации данных часовых временных рядов в R
> str(df.MHwind_load) # compactly displays structure of data frame
'data.frame': 8760 obs. of 6 variables:
$ Date : Factor w/ 365 levels "2010-04-01","2010-04-02",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Time..HRs. : int 1 2 3 4 5 6 7 8 9 10 ...
$ Hour.of.Year : int 1 2 3 4 5 6 7 8 9 10 ...
$ Wind.MW : int 375 492 483 476 486 512 421 396 456 453 ...
$ MSEDCL.Demand: int 13293 13140 12806 12891 13113 13802 14186 14104 14117 14462 ...
$ Net.Load : int 12918 12648 12323 12415 12627 13290 13765 13708 13661 14009 ...
При сохранении почасовой структуры, я хотел бы знать, как извлечь
- конкретный месяц/группа месяцев
- в первый день/первые недели и т.д. каждого месяца
- все понедельники, все вторники и т.д. года
Я попытался использовать «разрезать» без результата и после поиска в Интернете подумал, что «lubridate» может это сделать, но не нашел подходящих примеров. Я очень благодарен за помощь в решении этой проблемы.
Редактировать: образец данных в кадре данных ниже:
Date Hour.of.Year Wind.MW datetime
1 2010-04-01 1 375 2010-04-01 00:00:00
2 2010-04-01 2 492 2010-04-01 01:00:00
3 2010-04-01 3 483 2010-04-01 02:00:00
4 2010-04-01 4 476 2010-04-01 03:00:00
5 2010-04-01 5 486 2010-04-01 04:00:00
6 2010-04-01 6 512 2010-04-01 05:00:00
7 2010-04-01 7 421 2010-04-01 06:00:00
8 2010-04-01 8 396 2010-04-01 07:00:00
9 2010-04-01 9 456 2010-04-01 08:00:00
10 2010-04-01 10 453 2010-04-01 09:00:00
.. .. ... .......... ........
8758 2011-03-31 8758 302 2011-03-31 21:00:00
8759 2011-03-31 8759 378 2011-03-31 22:00:00
8760 2011-03-31 8760 356 2011-03-31 23:00:00
EDIT: Дополнительные операции, основанные на время Я хотел бы выполнить на те же набор данных 1. Выполнение час за часом усреднения для всех точек данных, т.е. среднего значения всех значений в первый час каждого дня в году. Выходной сигнал будет «почасовым профилем» всего года (24 момента времени). 2. Выполняйте то же самое для каждой недели и каждого месяца, т.е. получаете 52 и 12 часовых профилей соответственно 3. Сделайте сезонные средние значения, например, за июнь до Сентябрь
Это чисто связанный с программированием R вопрос, без статистического содержания. Мы переносим такие вопросы в stackoverflow, так как здесь у нас больше программистов. – mpiktas
Предлагаю добавить несколько строк вашего data.frame здесь с dput. Я думаю, что достаточно только столбца даты. – mpiktas
@mpiktas: я добавил образец из своего фрейма данных. обратите внимание, что я создал дату и время, используя _timeSequence_ – avg