library(tidyverse)
library(here)
theme_set(theme_bw())
# SEMPRE read_csv NUNCA read.csv
clima_tudo = 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()
)
)
João Pessoa, Campina Grande e Patos são cidades que estão localizadas em regiões muito diferentes. Aqui, iremos analisar como as chuvas são distribuidas nessas cidades, verificando semanas com muitas chuvas e semanas sem chuva. Como a análise é feita em chuvas por semana, verificamos o ano de 2019 o qual não possui dados faltantes, contribuindo pra uma análise mais eficaz. Além disso, como a análise é feita em semanas, a visualização fica melhor se vista em um ano.
O gráfico abaixo, mostra as chuvas por semana em 2019. Em Campina Grande, podemos ver que as chuvas estão mais concentrada de Fevereiro a Agosto mas, ainda assim, com algumas semanas sem chuvas. O período de seca na cidade acontece a partir de Setembro e segue assim no restante do ano, com apenas uma semana com índice de chuva maior que zero. A surpresa é que Campina Grande possui faixa de valores muito parecida com a cidade de Patos, que é conhecida por ser uma cidade mais quente. A diferença é que Patos possui um maior número de semanas sem chuvas, com um ponto extremo em uma semana chegando próximo de 200mm. João Pessoa é a cidade que mais chove entre as três. Assim como as outras duas, possui faixa de valores zeradas nos meses próximos ao final do ano. De Fevereiro a Agosto, as chuvas são mais distribuídas, com valores mais altos, contando com o ponto extremo de quase 400mm em uma semana do mês de Junho.
clima_filter = clima_tudo %>% filter( ano == 2019, !is.na(chuva))
sumarios = clima_filter %>%
group_by(cidade, semana) %>%
summarise(chuva_max = max(chuva),
chuva_mediana = median(chuva),
chuva_min = min(chuva),
chuva_media = mean(chuva),
amplitude = max(chuva) - min(chuva),
.groups = "drop")
clima_filter %>%
ggplot(aes(y = semana, x = chuva)) +
facet_wrap(~ cidade) +
geom_point(alpha = .5, size = .9, color = "steelblue") +
labs(
y = "Chuva"
)
No histograma abaixo, temos uma visão melhor sobre a frequências de semanas sem chuvas, onde Patos foi a cidade que teve uma faixa maior com mais de 30 semanas sem chuva. Campina Grande possui em torno de 23 semanas sem chuvas e João Pessoas sendo a cidade que mais chove das três.
clima_filter %>%
ggplot(aes(x = chuva)) +
facet_wrap(~ cidade) +
geom_histogram(binwidth = 9, fill = "coral", color = "black") +
geom_rug() +
labs(
y = "Quantidade de semanas"
)
Agora, utilizando alguns sumarios, podemos fazer algumas análises de como se comportaram as chuvas nas cidades ao longo do ano. Em Campina Grande a metade das chuvas marcaram índices abaixo de 6mm. Já em João Pessoa, metade das chuvas ficaram abaixo de 15mm, com uma média em aproximadamente 40mm. Patos por sua vez, possui mediana menor que Campina Grande porém, sua média é maior. Isso porque, apesar de Patos chover menos, em 2019 ela conta com alguns pontos de valores mais altos. Por fim, João Pessoa segue sendo a cidade mais chuvosa de 2019, contando com um ponto máximo de quase 400mm.
clima_sum = clima_filter %>%
group_by(cidade, ano) %>%
summarise(media = mean(chuva), mediana = median(chuva), max = max(chuva), .groups = "drop")
clima_filter %>%
ggplot(aes(y = chuva, x = cidade)) +
geom_point(alpha = .5, size = .9, color = "steelblue") +
geom_point(data = clima_sum, aes(y = media), color = "black") +
geom_point(data = clima_sum, aes(y = mediana), color = "red") +
geom_point(data = clima_sum, aes(y = max), color = "darkblue") +
labs(
y = "Chuva",
x = "Cidades"
)
Agora iremos analisar como é a distribuição da temperatura nessas cidades ao longo dos meses. A análise foi feita utilizando dados do ano de 2019.
O gráfico mostra a temperatura máxima ao longo dos meses no ano de 2019. Podemos ver que nas cidades de Campina Grande e João Pessoa, os meses de temperatura mais baixas são Junho, Julho e Agosto, já nos meses de Setembro a Maio a temperatura vai subindo e se mantém geralmente mais alta. Na cidade de Patos, os meses mais quentes são de Setembro a Dezembro, e de Janeiro a Agosto a temperatura se mantém um pouco mais baixa com algumas variações.
clima = clima_tudo %>%
mutate(nome_mes = factor(month.abb[mes], levels = month.abb, ordered = T)) %>%
filter(ano == 2019, !is.na(temp_max), !is.na(temp_min))
clima %>%
ggplot(aes(x = nome_mes, y = temp_max, color = "coral")) +
facet_wrap(~ cidade, ncol = 1) +
geom_point(alpha = .5, size = .9) +
labs(
x = "Temperatura Máxima",
y = "Mês"
)
Agora, analisando alguns sumários com dados da temperatura máxima mediana, podemos ver os dados das três cidades juntas. Vemos que as curvas da temperatura das cidades de Campina Grande e João Pessoa realmente são mais parecidas, já a curva de Patos não é tão definida, e o mês com temperaturas mais baixas foi Abril, distorcendo um pouco dos dados das outras cidades. Já o mês de Dezembro foi o mês com temperaturas mais quentes em todas as cidades.
sumario = clima %>%
group_by(cidade, nome_mes) %>%
summarise(temp_max_mes = max(temp_max),
temp_min_mes = min(temp_max),
temp_median_mes = quantile(temp_max, .5),
.groups = "drop")
sumario %>%
ggplot(aes(x = nome_mes, y = temp_median_mes, color = cidade)) +
geom_point() +
labs(
x = "Mês",
y = "Temperatura mediana"
)
Nos gráficos abaixo comparamos os índices de chuva com a temperatura durante os meses de Janeiro a Junho do ano de 2019 para observar se havia alguma relação ou não com essas duas medidas.
Podemos ver que apesar de serem meses que mais choveram ao longo do ano, ainda apresentam temperaturas altas. Campina Grande tem o mês de Junho sendo o mais frio. João pessoa e Patos mesmo nos meses em que choveu muito mais que Campina tiveram temperaturas mais altas. Logo, é notório que a quantidade de chuva não interfere muito na temperatura das três cidades.
clima_comeco = clima %>%
filter(mes >= 1, mes <= 6)
clima_comeco %>%
ggplot(aes(y = temp_max, x = nome_mes)) +
facet_wrap(~ cidade, ncol = 1) +
geom_point(alpha = .5, size = .9, color = "steelblue") +
labs(
y = "Temperatura Máxima",
x = "Mês"
)
sumario_mes = clima_comeco %>%
group_by(cidade, nome_mes) %>%
summarise(chuva_max = max(chuva),
chuva_mediana = median(chuva),
chuva_min = min(chuva),
chuva_media = mean(chuva),
amplitude = max(chuva) - min(chuva),
.groups = "drop")
sumario_mes %>%
ggplot(aes(x = nome_mes, y = chuva_max)) +
facet_wrap(~ cidade, ncol = 1) +
geom_point(alpha = .5, size = .9, color = "black") +
labs(
y = "Chuva",
x = "Mês"
)