library(dplyr)
library(ggplot2)
library(ggbeeswarm)
library(ggridges)
library(here)
library(hrbrthemes)
library(readr)
library(scales)
library(viridis)
theme_set(theme_ipsum_tw())
dados_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()))
dados_clima <- dados_clima %>%
mutate(nome_mes = case_when(
mes == 1 ~ 'Janeiro',
mes == 2 ~ 'Fevereiro',
mes == 3 ~ 'Março',
mes == 4 ~ 'Abril',
mes == 5 ~ 'Maio',
mes == 6 ~ 'Junho',
mes == 7 ~ 'Julho',
mes == 8 ~ 'Agosto',
mes == 9 ~ 'Setembro',
mes == 10 ~ 'Outubro',
mes == 11 ~ 'Novembro',
mes == 12 ~ 'Dezembro',
TRUE ~ ''
))
Essa análise foi produzida como exercício da disciplina de Fundamentos de Pesquisa em Ciência da Computação (FPCC2) do Programa de Pós-Graduação em Ciência da Computação (PPGCC) da Universidade Federal de Campina Grande (UFCG). O conjunto de dados utilizado foi produzido a partir de dados disponibilizados pelo Instituto Nacional de Metereologia e contém variáveis relacionadas à temperatura, umidade e vento nas cidades de Campina Grande (PB), João Pessoa (PB) e Patos (PB). Das perguntas propostas no exercício, foram escolhidas a 2 e a 3.
João Pessoa, Campina Grande e Patos são — nessa ordem — as 3 principais cidades do estado da Paraíba. Elas estão localizadas no litoral paraibano, no Planalto da Borborema e no alto sertão do estado (respectivamente). Tendo em vista essas características geográficas tão distintas, é natural supor que tais cidades também possuam níveis de pluviosidade muito diferentes. Para verificar essa teoria, exploraremos os valores de precipitação semanal (em milímetros de chuva), entres os anos de 2010 a 2019, para esses municípios paraibanos.
dados_clima %>%
filter(ano >= 2010, ano <= 2019) %>%
na.omit(chuva) %>%
ggplot(aes(x = cidade, y = chuva, color = cidade, filled.contour)) +
geom_jitter(width = 0.15, alpha = 0.25, show.legend = FALSE) +
geom_boxplot(width = 0.3, coef = 1000, show.legend = FALSE,
position = position_nudge(x = 0.4),) +
labs(x = 'Cidade', y = 'Chuva (mm)') +
scale_color_manual(values = c('#ffb20f', '#ff4b3e', '#972d07')) +
theme(axis.title.x = element_text(family = 'Times New Roman', face = 'bold',
vjust = -2, hjust = 0.5, size = 14),
axis.title.y = element_text(family = 'Times New Roman', face = 'bold',
vjust = 3, hjust = 0.5, size = 14),
axis.text.x = element_text(family = 'Times New Roman', size = 12),
axis.text.y = element_text(family = 'Times New Roman', size = 12))
Em uma primeira observação da visualização acima, a forte concentração dos níveis de pluviosidade em valores muito próximos a zero é, sem dúvidas, a semelhança entre as 3 cidades que mais se destaca. Apesar delas estarem consideravelmente distantes, as semanas sem nenhuma (ou com pouquíssima) chuva são predominantes em todo o território paraibano e, por isso, tal característica não chega a ser uma surpresa. Por outro lado, uma semelhança curiosa se dá entre Campina Grande e Patos: os valores máximos de pluviosidade semanal (de 2009 a 2010) foram quase idênticos nessas cidades, quase alcançando os 200 milímetros de chuva. Ainda assim, as medianas desses municípios indicam que as semanas de estiagem em Patos são muito mais comuns do que em Campina Grande. Nesse contexto, quando comparada às outras 2 cidades, a capital se torna destoante. Além de apresentar maior frequência de semanas com chuva (acarretando na maior das medianas), também parece existir uma tendência de maiores níveis de pluviosidade em João Pessoa, incluindo um valor máximo de quase 400 mílimetros de chuva em uma só semana!
Outro fator de interesse para essa análise é o quão diferentes sãos os meses mais quentes e os mais frios em Campina Grande, João Pessoa e Patos. Para explorar essa característica, utilizaremos os valores da temperatura média semanal agrupados por cidade e por mês do ano, também considerando o período de 2010 a 2019. Note que, na visualização a seguir, as linhas tracejadas representam a mediana da temperatura média de cada uma das três cidades.
dados_clima %>%
filter(ano >= 2010, ano <= 2019) %>%
na.omit(temp_media) %>%
group_by(cidade) %>%
mutate(mediana_temp_media = median(temp_media)) %>%
ggplot(aes(x = temp_media, y = reorder(nome_mes, -mes), fill = ..x..)) +
geom_density_ridges_gradient(scale = 3, rel_min_height = 0.001, show.legend = FALSE) +
geom_vline(aes(xintercept = mediana_temp_media, group = cidade),
linetype = 'dashed', size = 0.75) +
facet_wrap(~cidade) +
labs(x = 'Temperatura Média (ºC)') +
scale_x_continuous(breaks = pretty_breaks(n = 4)) +
scale_fill_viridis(option = 'C', alpha = 0.3) +
theme(axis.title.x = element_text(family = 'Times New Roman', face = 'bold',
vjust = -2, hjust = 0.5, size = 14),
axis.title.y = element_blank(),
axis.text.x = element_text(family = 'Times New Roman', size = 12),
axis.text.y = element_text(family = 'Times New Roman', size = 12),
strip.text = element_text(family = 'Times New Roman', face = 'bold',
vjust = 2, hjust = 0.5, size = 14))
Podemos observar que, apesar das diferentes altitudes e distâncias do oceano, as três cidades não escapam à mesma tendência das estações: os meses mais quentes se estendem de novembro a fevereiro e os meses mais frios se estendem de maio a agosto. Nesse contexto, a capital novamente se destaca por sua constância. Tomando como base a mediana da temperatura média semanal de João Pessoa, tanto os meses mais quentes quanto os meses mais frios da cidade geram variações de temperatura muito similares (entre 2 ºC e 3 ºC). Em Patos podemos notar uma maior diferenciação, enquanto os meses mais quentes elevam pouco a temperatura média semanal (aproximadamente 2 ºC) em relação à mediana da cidade, nos meses mais frios são comuns as semanas que apresentam temperaturas quase 4 ºC abaixo desse mesmo valor. Em Campina Grande ocorre padrão semelhante: os meses mais quentes têm temperatura pouquíssimo acima da mediana da cidade (aproximadamente 1,5 ºC), já os meses mais frios são tipicamente 3 ºC ou 4 ºC mais frios do que essa mesma mediana. Dito isso, apesar do páreo disputado, a diferença entre os meses mais quentes/frios parece mais aparente em Patos.