ComeçarComece de graça

Extraindo para filtrar e resumir

Outro motivo para extrair componentes é ajudar a filtrar observações ou criar resumos. Por exemplo, se você só se interessa por observações feitas em dias de semana (ou seja, não aos fins de semana), pode extrair os dias da semana e então filtrar os fins de semana, por exemplo, wday(date) %in% 2:6.

No último exercício, você viu que janeiro, fevereiro e março são ótimas épocas para visitar Auckland por causa das temperaturas mais altas, mas será que você vai precisar de capa de chuva?

Neste exercício, você vai descobrir! Você usará os dados horários para calcular em quantos dias de cada mês houve qualquer quantidade de chuva durante o dia.

Este exercício faz parte do curso

Trabalhando com datas e horários no R

Ver curso

Instruções do exercício

  • Crie novas colunas para a hora e o mês da observação a partir de datetime. Certifique-se de rotular o mês.
  • Filtre apenas as observações diurnas, em que a hora é maior ou igual a 8 e menor ou igual a 22.
  • Agrupe as observações primeiro por month, depois por date, e faça o resumo usando any() na coluna rainy. Isso resulta em um valor por dia
  • Resuma novamente somando any_rain. Isso resulta em um valor por mês

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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)
  )
Editar e executar o código