Extraer para filtrar y resumir
Otra razón para extraer componentes es ayudar a filtrar observaciones o crear resúmenes. Por ejemplo, si solo te interesan las observaciones realizadas en días laborables (es decir, no en fin de semana), podrías extraer los días de la semana y luego filtrar los fines de semana, p. ej., wday(date) %in% 2:6.
En el último ejercicio viste que enero, febrero y marzo eran buenas épocas para visitar Auckland por sus temperaturas cálidas, pero ¿necesitarás un chubasquero?
En este ejercicio lo averiguarás. Usarás los datos horarios para calcular cuántos días de cada mes hubo algo de lluvia durante el día.
Este ejercicio forma parte del curso
Trabajar con fechas y horas en R
Instrucciones del ejercicio
- Crea nuevas columnas para la hora y el mes de la observación a partir de
datetime. Asegúrate de etiquetar el mes. - Filtra solo las observaciones diurnas, donde la hora sea mayor o igual que
8y menor o igual que22. - Agrupa las observaciones primero por
month, luego pordate, y resume usandoany()en la columnarainy. Esto da como resultado un valor por día - Resume de nuevo sumando
any_rain. Esto da como resultado un valor por mes
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Create new columns hour, month and rainy
akl_hourly <- akl_hourly %>%
mutate(
___ = ___(datetime),
___ = ___(datetime, ___),
rainy = weather == "Precipitation"
)
# Filter for hours between 8am and 10pm (inclusive)
akl_day <- akl_hourly %>%
filter(___, ___)
# Summarise for each date if there is any rain
rainy_days <- akl_day %>%
group_by(___, ___) %>%
summarise(
any_rain = ___(rainy)
)
# Summarise for each month, the number of days with rain
rainy_days %>%
summarise(
days_rainy = ___(any_rain)
)