我想组合紧随其后的 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 新手,所以如果这没有意义,我深表歉意。我提前感谢您的帮助。