library(tidyverse)
library(here)
library(ggplot2)
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()
)
)
clima10 = clima_tudo %>%
filter(ano <= 2019, ano >= 2010, !is.na(temp_max), !is.na(temp_min))
sumarios = clima10 %>%
group_by(cidade, ano) %>%
summarise(chuva_max = max(chuva),
chuva_mediana = median(chuva),
chuva_min = min(chuva),
chuva_25perc = quantile(chuva, .25),
chuva_75perc = quantile(chuva, .75),
temp_max_anual = max(temp_max),
temp_min_anual = min(temp_max),
temp_mediana = median(temp_max),
umidade_anual_max = max(umidade),
umidade_anual_min = min(umidade),
umidade_anual_media = mean(umidade),
umidade_anual_mediana = median(umidade),
.groups = "drop")
Utilizando a distribuição dos valores de chuva, separados por cidade e ano e destacando os sumários de posição: máximo, mínimo e mediana, temos o seguinte gráfico.
clima10 %>%
ggplot(aes(x = ano, y = chuva)) +
facet_wrap(~ cidade) +
geom_point(alpha = .75, size = .9, color = "grey") +
geom_point(data = sumarios, aes(y = chuva_max)) +
geom_point(data = sumarios, aes(y = chuva_min)) +
geom_line(data = sumarios, aes(y = chuva_mediana), color = "red") +
labs(
x = "Ano",
y = "Chuva"
)
Utilizando os mesmos dados citados acima, mas destacando as linhas que separam os 25% com menores valores e os 25% com maiores valores no dados.
clima10 %>%
ggplot(aes(x = ano, y = chuva)) +
facet_wrap(~ cidade) +
geom_point(alpha = .5, size = .9, color = "grey") +
geom_line(data = sumarios, aes(y = chuva_25perc), color = "red") +
geom_line(data = sumarios, aes(y = chuva_75perc), color = "blue") +
labs(
x = "Ano",
y = "Chuva"
)
A maioria das semanas foram de nenhuma chuva em Patos, enquanto João Pessoa tem mais semanas com chuvas. Na maioria dos anos mais de 50% das semanas não tiveram chuva em Patos.
variacao = clima10 %>%
group_by(cidade, mes) %>%
summarise(media_chuva = mean(chuva),
media_temp_max = mean(temp_max),
media_temp_min = mean(temp_min),
media_temp_media = mean(temp_media),
amplitude_media_temp = media_temp_max - media_temp_min,
.groups = "drop")
Utilizando a média de chuvas por mês de cada cidade, temos o seguinte gráfico:
variacao %>%
ggplot(aes(x = mes, y = media_chuva, color = cidade)) +
geom_line() +
scale_x_continuous(breaks = seq(from = 1, to = 12, by = 1)) +
labs(
x = "Mês",
y = "Média de Chuva"
)
Visualizando a média de chuvas nos meses confirmamos que João Pessoa é a cidade com semanas mais chuvosas. Com a média podemos perceber outra coisa, que no mês de março em média Patos tem semanas mais chuvosas do que as outras cidades. E Campina Grande, por mais que pareça estar no meio em relação aos dados de chuva, tem 5 meses cuja média mensal de chuvas é menor que João Pessoa e Patos. Uma diferença marcante percebida também é em qual mês temos o pico de chuva nessas cidades, em Campina Grande e João Pessoa isso acontece em junho, já em Patos isso acontece em março.
Utilizando os dados da temperatura máxima, agrupados por ano e cidade e destacando a valor máximo, mínimo e mediano, temos o seguinte gráfico:
clima10 %>%
ggplot(aes(x = ano, y = temp_max)) +
facet_wrap(~ cidade) +
geom_point(alpha = .75, size = .9, color = "grey") +
geom_point(data = sumarios, aes(y = temp_max_anual)) +
geom_point(data = sumarios, aes(y = temp_min_anual)) +
geom_line(data = sumarios, aes(y = temp_mediana), color = "red") +
labs(
y = "Calor"
)
Utilizando a média das temperaturas mínimas, máximas e médias, agrupadas por cidade, temos o seguinte gráfico:
clima10 %>%
ggplot(aes(x = mes, y = temp_max)) +
facet_wrap(~ cidade, ncol = 1) +
geom_line(data = variacao, aes(y = media_temp_max, color = "Média da temperatura máxima")) +
geom_line(data = variacao, aes(y = media_temp_min, color = "Média da temperatura mínima")) +
geom_line(data = variacao, aes(y = media_temp_media, color = "Média da temperatura média")) +
scale_x_continuous(breaks = seq(from = 1, to = 12, by = 1)) +
scale_color_manual(values = c("Média da temperatura máxima" = "red",
"Média da temperatura mínima" = "blue",
"Média da temperatura média" = "black")) +
labs(
x = "Meses",
y = "Calor",
color = ""
)
Campina Grande é a cidade mais fria das três e Patos a mais quente. Mesmo assim em média, as temperaturas mínimas em Patos, em alguns meses, são mais baixas que João Pessoa. Em média, as três medidas de temperatura mudam da mesma forma em Campina Grande, onde no meio do ano as três temperaturas baixam.
Utilizando a diferença das médias das temperaturas máximas e mínimas, agrupadas por mês e cidade, temos o seguinte gráfico:
variacao %>%
ggplot(aes(x = mes, y = amplitude_media_temp, color = cidade)) +
geom_line() +
scale_x_continuous(breaks = seq(from = 1, to = 12, by = 1)) +
labs(
x = "Mês",
y = "Diferença da Média da Temperatura Mínima e Máxima"
)
Mesmo Patos sendo a cidade com os maiores registro de temperaturas altas entre essas três cidades, ela tem a maior diferença entre a média das temperaturas máximas e a média das temperaturas minímas. João Pessoa é a cidade com a menor amplitude entre essas médias. Já com Campina Grande outra coisa pode ser percebida nesse gráfico, no meio do ano a diferença entre as temperaturas mínimas e máximas baixam, e no último gráfico visualizamos que as temperaturas mínimas e máximas baixam em conjunto no meio do ano, ou seja, algumas das temperaturas baixam mais devagar.
(PERGUNTA - Qual foi a cidade menos úmida nos últimos anos? E para essa cidade, existe diferença da umidade entre os meses?)
Utilizando os dados de umidade, agrupados por ano e cidade, destacando o máximo, mínimo e a mediana, temos o seguinte gráfico:
clima10 %>%
ggplot(aes(x = ano, y = umidade)) +
facet_wrap(~ cidade) +
geom_point(alpha = .75, size = .9, color = "gray") +
geom_point(data = sumarios, aes(y = umidade_anual_min), color = "red") +
geom_line(data = sumarios, aes(y = umidade_anual_media)) +
geom_point(data = sumarios, aes(y = umidade_anual_max), color = "blue") +
labs(
y = "Umidade"
)
Campina Grande e João Pessoa tem os valores de umidade mais altos, mas durantes os anos Campina Grande teve uma variação desses valores maior que João Pessoa. Já Patos é a cidade menos úmida entre as três, mas tem a maior variação da umidade entre os anos.
sumario_umidade_max = clima10 %>%
group_by(cidade) %>%
summarise(umidade = max(umidade), label = "Umidade máxima",
.groups = "drop")
sumario_umidade_min = clima10 %>%
group_by(cidade) %>%
summarise(umidade = min(umidade), label = "Umidade mínima",
.groups = "drop")
sumario_umidade = rbind(sumario_umidade_max, sumario_umidade_min)
Utilizando o maior e menor valor de umidade, agrupados por cidade, temos o seguinte gráfico:
ggplot(sumario_umidade, aes(x = cidade, y = umidade, fill = label)) +
geom_col(position = "dodge", color = "black") +
scale_fill_manual(values = c("blue", "red"))
Campina Grande tem a maior umidade já registrada e Patos tem a menor.
umidade_patos = clima10 %>%
filter(cidade == "Patos") %>%
group_by(mes) %>%
summarise(media_umidade = mean(umidade),
.groups = "drop")
Utilizando a média dos valores de umidades da cidade de Patos, agrupados por mês, temos o seguinte gráfico:
umidade_patos %>%
ggplot(aes(x = mes, y = media_umidade)) +
geom_line(color = "blue") +
scale_x_continuous(breaks = seq(from = 1, to = 12, by = 1)) +
labs(
x = "Mês",
y = "Umidade"
)
Em média o final do ano na cidade Patos é o período mais seco.