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:
e com pouquissimos NAs temos:
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.