Я хочу объединить 6-часовые временные интервалы, следующие друг за другом, чтобы увидеть максимальное значение Total_IVT во время одного шторма. Например, в 2019-5-15 есть несколько наблюдений в часы 12 и 18, а на следующий день наблюдение в час 0. Как я могу объединить по ближайшим временным шагам?
Исходные данные здесь: https://ucla.box.com/ARcatalog. Ниже приведен сокращенный образец.
> dput(tail(df))
> structure(list(Year = c(2019L, 2019L, 2019L, 2019L, 2019L, 2019L
), Month = c(3L, 5L, 5L, 5L, 5L, 5L), Day = c(27L, 15L, 15L,
15L, 16L, 21L), Hour = c(12L, 0L, 12L, 18L, 0L, 6L), Total_IVT = c(111.5, 206, 503.3, 287, 261.2, 294.8), Date = c("2019-03-27", "2019-05-15",
"2019-05-15", "2019-05-15", "2019-05-16", "2019-05-21")), row.names = 1719:1724, class = "data.frame")
Я попробовал этот код и получил дневной максимум, но я хочу включить предыдущие или следующие дни, если шторм длится несколько дней.
df1 <- df %>% #subset of storms by max IVT
mutate(Date = as.Date(Date)) %>%
group_by(Date) %>%
filter(Total_IVT == max(Total_IVT))
Вот пример того, что я получаю из полного набора данных при построении дневного максимального IVT. Я хочу получить график с меньшим количеством точек, потому что некоторые штормы перекрывают дни.
ggplot(df1) + geom_point(aes(Date, Total_IVT))
введите описание изображения здесь
Я новичок в R, поэтому прошу прощения, если это не имеет смысла. Заранее благодарен за вашу помощь.