У меня есть фрейм данных со столбцом даты и времени POSIXct и столбцом со значением. Значение может содержать периоды NA, иногда даже с задержкой в несколько часов (данные вообще отсутствуют, например).
t v
2014-01-01 20:00:00 1000
2014-01-01 20:15:00 2300
2014-01-01 20:30:00 1330
2014-01-01 20:45:00 NA
2014-01-01 21:00:00 NA
2014-01-01 22:15:00 NA
2014-01-01 22:30:00 1330
2014-01-01 22:45:00 3333
Легко увидеть, что есть период, когда данные просто не пишутся (с 21:00 до 22:15). Когда я сейчас подаю заявку
aggregate(data, list(t=cut($t, "1hour"), FUN=sum)
он интерпретирует все, что отсутствует, как ноль. При построении графика с помощью ggplot2 и geom_line кривая в этом регионе изменится с 1000 до 10 с.
Я хочу, чтобы aggregate
возвращал значения NA для каждого часа, которые не представлены данными (отсутствуют или сами NA), так что значения не сгибаются до 0 и чтобы линейный график показывал разрыв в этот период (отключенные точки данных ).