День с осадками> = 2,5 мм называется дождливым днем. Я мог рассчитывать месячные дождливые дни, используя следующий код
library(seas)
library(tidyverse)
library(zoo)
library(lubridate)
data(mscdata)
dat.int <- (mksub(mscdata, id=1108447))
dat.int %>%
as_tibble() %>% # for easier viewing
mutate(yearmon = as.yearmon(dat.int$date, "%b %y")) %>%
dplyr::select(-date, -year, -yday, -t_max, -t_min, -t_mean) %>%
pivot_longer(cols = -yearmon, names_to = "variable", values_to = "value") %>%
group_by(yearmon, variable) %>%
summarise(rainy_days = sum(value > 2.5)) %>%
pivot_wider(names_from = "variable", values_from = "rainy_days")
Затем я рассчитал долгосрочное среднее значение, используя следующий код
dat.int %>%
as_tibble() %>% # for easier viewing
mutate(yearmon = as.yearmon(dat.int$date, "%b %y")) %>%
dplyr::select(-date, -year, -yday, -t_max, -t_min, -t_mean) %>%
pivot_longer(cols = -yearmon, names_to = "variable", values_to = "value") %>%
group_by(yearmon, variable) %>%
summarise(rainy_days = sum(value > 2.5)) %>%
mutate(year = year(yearmon)) %>%
group_by(variable) %>%
summarize(value = as.integer(round(mean(rainy_days, na.rm = T)))) %>%
pivot_wider(names_from = "variable", values_from = "value")
Теперь два порога должны быть рассчитаны как: ниже порог = 0,81 * долгосрочное среднее и верхний порог = 1,19 * долгосрочное среднее. Затем вычислите количество лет с дождливыми днями между этими двумя пороговыми значениями. Теперь я хочу вычислить количество лет с дождливыми днями в диапазоне 81–119% долгосрочного среднего (между нижним и верхним порогом).