Identifica periodos de persistencia de un evento definido a partir de alguna condición lógica, por ejemplo días consecutivos donde la temperatura mínima fue igual o menor a 0°C para calcular días acumulados de heladas.
Valor
Devuelve un data.frame con 3 variables fijas y las posibles variables asociadas al agrupamiento:
ola
(caracter) nombre de la ola definido por el usuario (si los argumentos de...
no tienen nombre, se usaV1
,V2
, etc...)inicio
(fecha) fecha de inicio de la ola o periodo de persistenciafin
(fecha) fecha de finalización de la ola o periodo de persistencialongitud
(diferencia de fechas, tipo drtn) duración de la ola
Si una ola todavía no terminó, fin y longitud son NA.
Detalles
La función es sensible a los datos faltantes, esto quiere decir que si se
encuentra con un dato faltante la función "corta" el periodo de persistencia.
Puede utilizarse en el contexto de dplyr::summarise()
y dplyr::group_by()
para hacer este cálculo por grupos.
Ejemplos
data(NH0358)
library(dplyr)
NH0358 %>%
reframe(olas(fecha, calor = t_max > 20, frio = t_min <= 0)) %>%
slice_head(n = 10)
#> ola inicio fin longitud
#> 1 calor 1951-01-01 1951-01-22 22 days
#> 2 calor 1951-01-24 1951-02-13 21 days
#> 3 calor 1951-02-15 1951-03-31 45 days
#> 4 calor 1951-04-04 1951-04-09 6 days
#> 5 calor 1951-04-15 1951-04-20 6 days
#> 6 calor 1951-04-22 1951-04-24 3 days
#> 7 calor 1951-04-26 1951-04-29 4 days
#> 8 calor 1951-05-01 1951-05-06 6 days
#> 9 calor 1951-05-10 1951-05-13 4 days
#> 10 calor 1951-05-22 1951-05-22 1 days