DADOS

library(readr)
library(dplyr)
library(ggplot2)
library(tidyverse)
library(GGally)

df_climatico <- read.csv("../data/clima_cg_jp-semanal.csv")

Q1: Qual a cidade é mais quente? Isso muda se considerarmos apenas o período de janeiro e fevereiro (pico do verão)?

df_climatico %>% pivot_longer(cols = tmedia:tmin, names_to = 'tipo', values_to = 'temperatura') %>%
  ggplot(aes(cidade,temperatura)) + 
  geom_boxplot() +
  facet_grid(~tipo) +
  ggtitle('Distribuição das temperaturas de Campina Grande e João Pessoa') +
  xlab('Cidade') + ylab('Temperatura média')

df_climatico %>% filter(mes == 1 | mes == 2) %>%  pivot_longer(cols = tmedia:tmin, names_to = 'tipo', values_to = 'temperatura') %>%
  ggplot(aes(cidade,temperatura)) + 
  geom_boxplot() +
  facet_grid(~tipo) +
  ggtitle('Distribuição das temperaturas de Campina Grande e João Pessoa no pico do verão') +
  xlab('Cidade') + ylab('Temperatura média')

Apesar de Campina Grande apresentar temperaturas máximas semelhantes e até maiores que João Pessoa (principalmente no pico do verão), a temperatura média de João Pessoa é maior em ambos os casos, tanto normalmente quanto no pico do verão. Portanto, João Pessoa é a cidade mais quente.

Q2: Quais os meses mais quentes e mais frios? Como você descreveria a temperatura das festas juninas das cidades nos últimos anos?

df_climatico$mes <- as.factor(df_climatico$mes)

df_climatico %>%
  ggplot(aes(mes,tmedia)) + 
  geom_boxplot() +
  facet_grid(~cidade) +
  ggtitle('Distribuição das temperaturas de Campina Grande e João Pessoa por mês') +
  xlab('Mês') + ylab('Temperatura média')

df_climatico %>% filter(mes == '6' & ano > 2012) %>%
  ggplot(aes(cidade,tmedia)) + 
  geom_boxplot() +
  facet_wrap(~ano) +
  ggtitle('Temperaturas de Campina Grande e João Pessoa nos últimos anos no mês de junho') +
  xlab('Cidade') + ylab('Temperatura média')

Apesar de João Pessoa ser mais quente, temos uma distribuição semelhante em termos de variação durante os meses. Ambas apresentam uma queda considerável nas temperaturas nos meses de abril até julho, sendo julho o mês mais frio em ambas as cidades. Quanto ao meses mais quentes, temos destaque para janeiro, fevereiro, março e dezembro em ambas as cidades, sendo março o mês mais quente do ano em João Pessoa.

Q3: Quanto chove por semana em JP e CG? Descreva a distribuição do volume de chuvas para as cidades?

df_climatico  %>% filter(chuva < 200) %>%
  ggplot(aes(chuva)) + 
  geom_histogram() +
  facet_grid(~cidade) +
  scale_x_continuous(breaks = scales::pretty_breaks(n = 10)) +
  scale_y_continuous(breaks = scales::pretty_breaks(n = 10)) +
  ggtitle('Distribuição do volume de chuvas em Campina Grande e João Pessoa') +
  xlab('Volume de Chuva') + ylab('Contagem')

df_climatico %>% filter(chuva > 20) %>% filter(chuva < 200) %>%
  ggplot(aes(chuva)) + 
  geom_histogram() +
  facet_grid(~cidade) +
  scale_x_continuous(breaks = scales::pretty_breaks(n = 10)) +
  scale_y_continuous(breaks = scales::pretty_breaks(n = 10)) +
  ggtitle('Distribuição do volume de chuvas em Campina Grande e João Pessoa (filtrado)') +
  xlab('Volume de Chuva') + ylab('Contagem')

No primeiro gráfico, temos a distribuição semelhante em ambas as cidades, com tendências para números baixos no volume de chuva semanal. Campina Grande concentra uma distribuição menos expressiva, com muitos valores mais próximos de 0. Apesar disso, ao filtrarmos o gráfico percebe-se algumas coisas: a distribuição de João Pessoa parece mais variável em relação ao volume de chuva semanal, com uma gama de valores maior que Campina Grande, que quase não possui volumes altos de chuva nos registros.

Q4: Qual a relação entre a temperatura de uma semana e a temperatura da semana anterior (descreva para as duas cidades)?

df_climatico %>% 
  mutate(tanterior = lag(tmedia, n = 1)) %>%
  ggplot(aes(tanterior, tmedia)) + 
  geom_point(stat="identity") + 
  facet_grid(~cidade) +
  geom_smooth(method = 'lm') +
  ggtitle('Temperatura média x Temperatura média da semana anterior') +
  xlab('Temperatura média') + ylab('Temperatura média da semana anterior')

Os coeficientes de correlação de Pearson, Spearman e Kendall, para a temperatura média e a temperatura média da semana anterior nas cidades de Campina Grande e João Pessoa, respectivamente:

df_climatico %>% 
  mutate(tanterior = lag(tmedia, n = 1)) %>% 
  group_by(cidade) %>%  
  summarise(pearson = cor(tmedia, tanterior, method = "pearson", use="complete.obs"),
                    spearman = cor(tmedia, tanterior, method = "spearman",use="complete.obs"),
                    kendall = cor(tmedia, tanterior, method = "kendall",use="complete.obs"))
## # A tibble: 2 × 4
##   cidade         pearson spearman kendall
##   <chr>            <dbl>    <dbl>   <dbl>
## 1 Campina Grande   0.880    0.856   0.669
## 2 João Pessoa      0.859    0.860   0.683

Temos uma correlação forte e positiva, isso ocorre nas duas cidades. Desde o scatter plot já se percebe a distribuição linear dos dados em questão.

Q5: Qual a relação entre temperatura e chuvas nas semanas em que choveu (descreva para as duas cidades)?

df_climatico %>% 
  ggplot(aes(tmedia, chuva))  + scale_x_log10() +
  geom_point(stat="identity") + 
  facet_grid(~cidade) +
  geom_smooth(method = 'lm') +
  ggtitle('Temperatura média x Chuva') +
  xlab('Temperatura média') + ylab('Volume de chuva')

df_climatico %>% 
  group_by(cidade) %>%  
  summarise(pearson = cor(tmedia, chuva, method = "pearson", use="complete.obs"),
                    spearman = cor(tmedia, chuva, method = "spearman",use="complete.obs"),
                    kendall = cor(tmedia, chuva, method = "kendall",use="complete.obs"))
## # A tibble: 2 × 4
##   cidade         pearson spearman kendall
##   <chr>            <dbl>    <dbl>   <dbl>
## 1 Campina Grande  -0.396   -0.541  -0.377
## 2 João Pessoa     -0.441   -0.484  -0.328

Temos uma correlação fraca e negativa em ambas as cidades.

df_climatico %>% ggpairs(columns = c("tmin", "tmedia", "tmax", "chuva"),
columnLabels = c("Temp. Mínima", "Temp. Média", "Temp. Máxima", "Chuva"))