Объединение временных шагов в R - PullRequest
0 голосов
/ 03 августа 2020

Я хочу объединить 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, поэтому прошу прощения, если это не имеет смысла. Заранее благодарен за вашу помощь.

...