Как я могу изменить временной ряд (XTS или ЗООПАРК) в R?

Я плохо знаком с stackoverflow и довольно плохо знаком с R, но искал долго и трудно и не могу найти ответ на следующий вопрос.

У меня есть много файлов данных, которые являются температурой против временного ряда. Я импортирую CSV как объект ЗООПАРКА, затем преобразовывающий в XTS. Корректный файл похож на это с чтениями на часе и получасе:

>head(master1)
                       S_1
2010-03-03 00:00:00 2.8520
2010-03-03 00:30:00 2.6945
2010-03-03 01:00:00 2.5685
2010-03-03 01:30:00 2.3800
2010-03-03 02:00:00 2.2225
2010-03-03 02:30:00 2.0650

Но временная стоимость на некоторых немного отсутствует - т.е. 23:59:00 не 0:00:00 или 0:29:00 вместо 0:30:00.

>head(master21)
                       S_21
2010-03-04 23:59:00  -0.593
2010-03-05 00:29:00  -0.908
2010-03-05 00:59:00  -1.034
2010-03-05 01:29:00  -1.223
2010-03-05 01:59:00  -1.349
2010-03-05 02:29:00  -1.538

Я хочу исправить эти временные ряды, поскольку мелкое различие не важно для моего анализа, и я в конечном счете хочу объединить файлы, таким образом, каждый timeseries должен иметь ту же синхронизацию.

Я хочу команду, которая может просто сказать, "смещают временной ряд вперед на 1 минуту, но не изменяют столбец данных (например, S_21). У меня была некоторая удача с gsub() на более легких изменениях, и рассмотренный комплекс regex для изменения данных, прежде чем это будет преобразовано в ЗООПАРК или XTS. Я читал о lag() и diff() но они, кажется, перемещают значения данных относительно временного ряда; исправьте меня, если я неправ.

Любая справка, решая эту проблему очень ценилась бы.

9
задан Joshua Ulrich 13 August 2011 в 06:55
поделиться

1 ответ

Попробуйте

index(master21) <- index(master21) + 60    # adds a minute

что добавит минуту к временному индексу. Затем вы можете использовать merge () для выравнивания временных меток.

В целом виньетки из пакета zoo также будут вам полезны.

11
ответ дан 3 November 2019 в 00:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: