library(readr)
library(dplyr)
library(ggplot2)
library(tidyverse)
library(GGally)
df_climatico <- read.csv("../data/clima_cg_jp-semanal.csv")
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.
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.
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.
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.
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"))