Ir al contenido

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.

Uso

olas(fecha, ...)

Argumentos

fecha

vector de fechas.

...

umbral o umbrales a calcular utilizando operadores lógicos.

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 usa V1, V2, etc...)

  • inicio (fecha) fecha de inicio de la ola o periodo de persistencia

  • fin (fecha) fecha de finalización de la ola o periodo de persistencia

  • longitud (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