Nessa EDA iremos nos concentrar em responder como o calor durante as festas juninas (pergunta 4) e a umidade ocorrem ao longo do ano (pergunta 3) nas cidades de JP, CG e Patos. Primeiramente iremos carregar bibliotecas importantes na nossa analise que é a tidyverse, que fornecerá uma gama de funções, e a here, que lida em corrigir nossos caminhos relativos em absolutos em nossos dispositivos.

library(tidyverse)
library(here)
theme_set(theme_bw())

A coleta dos dados foi feita por meio dos dados fornecidos pelo BDMEP e após algumas transformações para se trabalhar com dados semanais, ao inves de diário, teremos o tempo-jp-cg-pt.csv com nosso arsenal! Abaixo temos o código que carrega do csv na variável clima os dados como cidade, semana, ano e mês, mas também a temperatura média e a umidade nas nossas cidade alvo:

clima = read_csv(
    here("data/tempo-jp-cg-pt.csv"),
    col_types = cols(
        .default = col_double(),
        cidade = col_character(),
        semana = col_date(format = ""),
        ano = col_integer(),
        mes = col_integer(),
        temp_media = col_double(),
        umidade = col_double()
    )
)

clima
## # A tibble: 1,803 x 11
##    cidade  semana     temp_max temp_media temp_min vento_medio vento_max umidade
##    <chr>   <date>        <dbl>      <dbl>    <dbl>       <dbl>     <dbl>   <dbl>
##  1 Campin… 2009-12-27     29.9       25.9     21.9        3.96       5      76  
##  2 Campin… 2010-01-03     31.4       25.5     21.2        4.08       5.3    76.2
##  3 Campin… 2010-01-10     32.1       25.6     21.3        3.95       6.6    76.0
##  4 Campin… 2010-01-17     31         24.2     20.5        2.86       5      85.3
##  5 Campin… 2010-01-24     31.2       26.1     21.2        3.69       5.5    77.8
##  6 Campin… 2010-01-31     32.1       26.0     21.4        3.97       6.5    76.0
##  7 Campin… 2010-02-07     32.2       26.0     20.4        3.40       6.3    77.8
##  8 Campin… 2010-02-14     31.3       25.8     21.5        3.40       5.5    80.4
##  9 Campin… 2010-02-21     32.9       27.0     22.1        3.54       5.5    76.0
## 10 Campin… 2010-02-28     34.1       28.0     22          3.06       4      71  
## # … with 1,793 more rows, and 3 more variables: chuva <dbl>, ano <int>,
## #   mes <int>

Antes de mais nada veremos se os dados de umidade possuem algum dado faltante. No resultado abaixo vemos que:

umidade_cidades = clima %>%
  select(cidade,umidade) %>%
  filter(is.na(umidade)) %>%
  group_by(cidade) %>%
  tally()

umidade_cidades
## # A tibble: 2 x 2
##   cidade             n
##   <chr>          <int>
## 1 Campina Grande     3
## 2 Patos             67

Para contornar isso veremos um ano em que houveram pouquissimos dados faltantes para seguir com a nossa analise. Abaixo vemos que os anos problemáticos são:

  1. 2020 com 41 NAs
  2. 2021 com 26 NAs

e com pouquissimos NAs temos:

  1. 2017 com 2 casos
  2. 2016 com 1 unico caso
umidade_anos = clima %>%
  select(ano,umidade) %>%
  filter(is.na(umidade)) %>%
  group_by(ano) %>%
  tally()

umidade_anos
## # A tibble: 4 x 2
##     ano     n
##   <int> <int>
## 1  2016     1
## 2  2017     2
## 3  2020    41
## 4  2021    26

Para prosseguir iremos considerar o ano de 2019 (mais atual e menos problemático). Na analise acima podemos pensar na seguinte pergunta “Por que os anos mais atuais são os mais problematicos?”, mas como não é alvo da nossa pesquisa iremos continuar …

Agora iremos visualizar os dados de umidade nas nossas cidades no ano de 2019:

clima %>%
  filter(ano == 2019) %>%
  ggplot(mapping = aes(y = cidade, x = umidade)) +
  geom_point(color = "steelblue") +
  labs(
    x = "Média da umidade em %",
    y = ""
  )

Observamos no gráfico acima que a variância nos dados de JP são bem menores que Campina Grande e Patos, por sua vez, Patos possui a variância mais alta com a maior parte dos casos menor do que a menor umidade vista em JP (uma característica bem marcante do sertão, a seca), veremos como se da o comportamento da umidade em cada mês:

clima %>%
  filter(ano == 2019) %>%
  ggplot(mapping = aes(x = factor(mes), y = umidade)) +
  facet_wrap(~ cidade, ncol = 1) + 
  geom_point(color = "steelblue") + 
  labs(
    x = "Mês",
    y = "Umidade"
  )

Em Campina Grande observamos que na epoca do inverno (meio do ano), temos uma alta na umidade e na epoca do verão (final do ano), temos as umidades mais baixas do ano para a cidade. Já em JP não observamos isso, me parece que a umidade se mantem quase que constante perto dos 75~80 de umidade durante o ano. Por ultimo, em Patos temos algo parecido com CG, mas os pontos de umidade minimas foram encontrados nos meses de Outubro e Novembro (antes do inicio do verão) diferentemente de CG que foi em Novembro e Dezembro (transição para o verão), e os pontos de umidade maxima foram no final do periodo de verão (meses de Fevereiro, Março e Abril) diferentemente de CG que foi no periodo tradicionalmente frio e chuvoso do inverno.

Agora iremos investigar um pouco sobre as medições de temperatura, escolhendo sua representação média, nas cidades, verificando primeiramente a ocorrencia de dados faltantes para os ultimos 3 anos (desconsiderando 2020 e 2021, anos problemáticos) no mês de Junho (periodo das festas juninas):

temp_anos = clima %>%
  select(ano,mes,temp_media) %>%
  filter(is.na(temp_media), ano >= 2017, ano <= 2019, mes == 6)

temp_anos
## # A tibble: 0 x 3
## # … with 3 variables: ano <int>, mes <int>, temp_media <dbl>

De acordo com o resultado acima, nao a dados faltantes no anos de 2017, 2018 e 2019 para nenhuma das cidades, com isso podemos prosseguir com a nossa investigação e visualizar a métrica sobre a temperatura no periodo junino desses anos:

clima %>%
  filter(ano >= 2017, ano <= 2019, mes == 6) %>%
  ggplot(mapping = aes(y = cidade, x = temp_media)) +
  geom_jitter(height = .1, alpha = .5, color = "steelblue") +
  labs(
    x = "Temperatura média em °C",
    y = ""
  )

Podemos observar que em JP a uma alta variabilidade sobre a temperatura com alguns pontos extremos minimos proximos a 25°C e maximos maiores que 28°C. Já em Patos, observamos uma baixa variabilidade com uma maior concentração proximos a 26°C. E por ultimo, Campina Grande uma baixa variabilidade com um unico caso extremo maior que 25°C que segundo o resultado abaixo ocorreu na semana do dia 02/06/2019.

temp_extremo_cg = clima %>%
  filter(cidade == "Campina Grande", ano >= 2017, ano <= 2019, mes == 6, temp_media > 25)

temp_extremo_cg
## # A tibble: 1 x 11
##   cidade   semana     temp_max temp_media temp_min vento_medio vento_max umidade
##   <chr>    <date>        <dbl>      <dbl>    <dbl>       <dbl>     <dbl>   <dbl>
## 1 Campina… 2019-06-02     30.7       25.6     18.7        4.30       6.3    76.7
## # … with 3 more variables: chuva <dbl>, ano <int>, mes <int>

Observando isso agrupado em anos temos:

clima %>%
  filter(ano >= 2017, ano <= 2019, mes == 6) %>%
  ggplot(mapping = aes(y = cidade, x = temp_media)) +
  facet_wrap(~ ano, ncol = 1) + 
  geom_jitter(height = .1, alpha = .5, color = "steelblue") +
  labs(
    x = "Temperatura média em °C",
    y = ""
  )

Com o resultado acima vemos que CG em 2019 teve o periodo junino mais quente dentre os anos analisados, com o pico de 25°C, assim como em 2018, o ano cujo periodo foi mais frio. Em João Pessoa temos uma maior variância da temperatura nos anos de 2017 e 2019 com alguns pontos extremos. Já Patos apresenta um comportamento semelhante a CG, no qual em 2019 teve um ano mais quente e em 2017, mais frio.