library(tidyverse)
library(here)
theme_set(theme_bw())
clima_tudo = read_csv(
here("data/tempo-jp-cg-pt.csv"),
col_types = cols(
cidade = col_character(),
semana = col_date(format = ""),
temp_max = col_double(),
temp_media = col_double(),
temp_min = col_double(),
vento_medio = col_double(),
vento_max = col_double(),
umidade = col_double(),
chuva = col_double(),
ano = col_integer(),
mes = col_integer()
)
)
clima_2019 = clima_tudo %>%
filter(ano == 2019)
glimpse(clima_tudo)
## Rows: 1,761
## Columns: 11
## $ cidade <chr> "Campina Grande", "Campina Grande", "Campina Grande", "Cam~
## $ semana <date> 2009-12-27, 2010-01-03, 2010-01-10, 2010-01-17, 2010-01-2~
## $ temp_max <dbl> 29.9, 31.4, 32.1, 31.0, 31.2, 32.1, 32.2, 31.3, 32.9, 34.1~
## $ temp_media <dbl> 25.90000, 25.53333, 25.60952, 24.20952, 26.06190, 26.02381~
## $ temp_min <dbl> 21.9, 21.2, 21.3, 20.5, 21.2, 21.4, 20.4, 21.5, 22.1, 22.0~
## $ vento_medio <dbl> 3.960000, 4.080952, 3.952381, 2.860000, 3.690476, 3.971429~
## $ vento_max <dbl> 5.0, 5.3, 6.6, 5.0, 5.5, 6.5, 6.3, 5.5, 5.5, 4.0, 5.0, 7.8~
## $ umidade <dbl> 76.00000, 76.23810, 75.95238, 85.33333, 77.80952, 76.04762~
## $ chuva <dbl> 0.0, 4.7, 0.2, 69.3, 3.8, 1.2, 10.9, 2.5, 0.0, 0.0, 0.0, 0~
## $ ano <int> 2009, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010~
## $ mes <int> 12, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, ~
A análise das informações das cidades Campina Grande, João Pessoa e Patos são 3 referências de amostras para compreender o clima na Paraíba. Neste sentido, será apresentado o relatório contendo exploração das informações as quais são apresentadas para melhor visualização destas informações através de gráficos e tabelas, no qual o objetivo é contribuir para interpretação das informações relevantes ao clima, por exemplo: agreste, litoral e o sertão.
Foi elaborado o relatório descrevendo a análise através de cálculos e ilustração com o uso de gráficos e tabelas para a realização do arquivo reports/eda-estimativas.Rmd com intuito da realização para exploração inicial dos dados. A base de dados apresentam 12.299 registros, com 17 campos os quais já se encontram formatados adequadamente do github (https://github.com/fpcc2-2021/l2p2-copin-fpcc1-dupla.git).
Sendo assim, os dados foram obtidos do repositório do github (https://github.com/fpcc2-2021/l2p2-copin-fpcc1-dupla.git) no qual conforme a fonte foram extraídos BDMEP (https://tempo.inmet.gov.br/) e unidos em uma única tabela, dos períodos de 2009-2021, as informações estão armazenadas no arquivo CVS, a tabela possui 1.761 registros, com medições organizadas em torno de cidades, ciclos de semanas, etc. e analisadas na Linguagem R. Mais informações sobre o processo exploratório e demais informações são apresentados a seguir.
clima = clima_tudo %>%
filter (!is.na(temp_media), !is.na(umidade), !is.na(chuva)) %>%
select(semana, temp_media, umidade, chuva, cidade,mes)
correlacao_JP = clima %>%
filter(cidade == "João Pessoa") %>%
summarise(corrlacao_st = cor(temp_media, umidade, method = "pearson"))%>%
pull(corrlacao_st)
correlacao_CG = clima %>%
filter(cidade == "Campina Grande") %>%
summarise(corrlacao_st = cor(temp_media, umidade, method = "pearson"))%>%
pull(corrlacao_st)
correlacao_PT = clima %>%
filter(cidade == "Patos") %>%
summarise(corrlacao_st = cor(temp_media, umidade, method = "pearson"))%>%
pull(corrlacao_st)
clima %>%
ggplot(mapping = aes(x=temp_media, y=umidade))+
facet_wrap(~ cidade, ncol = 1)+
geom_point(shape=1)+
geom_smooth(method=lm, se=FALSE)+
labs(
x="Temperatura média ºC",
y="Umidade (%)"
)
## `geom_smooth()` using formula 'y ~ x'
O gráfico 1, apresenta a correlação entre temperatura média e umidade por semana nas três cidades da Paraíba. Analisando no que tange as associações entre duas variáveis quantitativas, conclui-se que possuem semelhança quantitativa. Para isso, a correlação de Pearson foi utilizada porque os dados possuíam uma distribuição linear negativa. Pelo gráfico 1 é possível observar que essa correlação tem uma intensidade moderadamente forte para a cidade de João Pessoa de acordo com a correlação de pearson r= -0.545, Campina Grande de acordo com a correlação de pearson r= -0.710 e Patos de acordo com a correlação de pearson r= -0.681.
correlacao2_JP = clima %>%
filter(cidade == "João Pessoa") %>%
summarise(corrlacao_transf = cor((temp_media), (chuva), method = "spearman"))%>%
pull(corrlacao_transf)
correlacao2_CG = clima %>%
filter(cidade == "Campina Grande") %>%
summarise(corrlacao_transf = cor((temp_media), (chuva), method = "spearman"))%>%
pull(corrlacao_transf)
correlacao2_PT = clima %>%
filter(cidade == "Patos") %>%
summarise(corrlacao_transf = cor((temp_media), (chuva), method = "spearman"))%>%
pull(corrlacao_transf)
clima %>%
ggplot(mapping = aes(x=temp_media, y=chuva))+
facet_wrap(~ cidade, ncol = 1)+
geom_point(shape=1)+
labs(
x="Temperatura média ºC",
y="Chuva (mm)"
)
O gráfico 2, apresenta a correlação entre temperatura média e chuva por semana nas três cidades da Paraíba. Analisando no que tange as associações entre duas variáveis quantitativas, conclui-se que não possuem semelhança quantitativa. Para isso, a correlação de Spearman foi utilizada porque os dados não possuíam uma distribuição normal, buscando encontrar uma possível correlação. Pelo gráfico 2, é possível observar que essa correlação não existe entre as três cidades. De acordo a correlação de Spearman r= -0.454 para João Pessoa, r= -0.509 para Campina Grande e r= -0.252 para Patos.
correlacao3_JP = clima %>%
filter(cidade == "João Pessoa") %>%
summarise(corrlacao_transf = cor((temp_media), (umidade), method = "spearman"))%>%
pull(corrlacao_transf)
correlacao3_CG = clima %>%
filter(cidade == "Campina Grande") %>%
summarise(corrlacao_transf = cor((temp_media), (umidade), method = "spearman"))%>%
pull(corrlacao_transf)
correlacao3_PT = clima %>%
filter(cidade == "Patos") %>%
summarise(corrlacao_transf = cor((temp_media), (umidade), method = "spearman"))%>%
pull(corrlacao_transf)
clima %>%
ggplot(mapping = aes(x=chuva, y=umidade))+
facet_wrap(~ cidade, ncol = 1)+
geom_point(shape=1)+
labs(
y="Umidade (%)",
x="Chuva (mm)"
)
O gráfico 3, apresenta a correlação entre temperatura média e chuva por semana nas três cidades da Paraíba. Analisando no que tange as associações entre duas variáveis quantitativas, conclui-se que não possuem semelhança quantitativa. Para isso, a correlação de Spearman foi utilizada porque os dados não possuíam uma distribuição normal, buscando encontrar uma possível correlação. Pelo gráfico 2, é possível observar que essa correlação não existe entre as três cidades. De acordo a correlação de Spearman r= -0.487 para João Pessoa, r= -0.683 para Campina Grande e r= -0.688 para Patos.
clima = clima_tudo %>%
filter (!is.na(temp_media), !is.na(chuva), semana >= "2020-04-01", semana <= "2021-03-31" , cidade == "João Pessoa" |
cidade == "Campina Grande") %>%
select(semana, temp_media, chuva, cidade, mes, ano)
SemanaRecente = max (clima$semana)
clima_Diferenca = clima %>%
mutate (qt_temp_media = temp_media, qt_chuva = chuva) %>%
group_by(cidade, ano, mes) %>%
summarise(temp_media = sum (qt_temp_media), chuva = sum (qt_chuva), .groups = "drop")
clima_Comparacao = clima %>%
mutate (qt_temp_media = 0, qt_chuva = 0) %>%
group_by(cidade, ano, mes, qt_temp_media, qt_chuva) %>%
summarise(qt_temp_media = sum (temp_media), qt_chuva = sum (chuva), .groups = "drop")
climaDiferenca_1 = clima_Comparacao %>%
mutate (temp_media_1 = qt_temp_media, diferenca_temp_media = 0, cidade_1 = cidade) %>%
filter (cidade == "João Pessoa") %>%
select(temp_media_1, cidade_1, mes, ano)
climaDiferenca_2 = clima_Comparacao %>%
mutate (temp_media_2 = qt_temp_media, diferenca_temp_media = 0, cidade_2 = cidade) %>%
filter (cidade == "Campina Grande") %>%
select(temp_media_2, cidade_2, mes, ano)
climaDiferenca_Uniao = climaDiferenca_1 %>%
inner_join(climaDiferenca_2)
## Joining, by = c("mes", "ano")
climaDiferenca_Uniao_Resulado = climaDiferenca_Uniao %>%
mutate (diferenca_temp_media = temp_media_1 - temp_media_2)
climaDiferenca_Uniao_Resulado
## # A tibble: 12 x 7
## temp_media_1 cidade_1 mes ano temp_media_2 cidade_2 diferenca_temp_m~
## <dbl> <chr> <int> <int> <dbl> <chr> <dbl>
## 1 114. João Pess~ 4 2020 104. Campina G~ 10.1
## 2 137. João Pess~ 5 2020 124. Campina G~ 12.7
## 3 103. João Pess~ 6 2020 92.4 Campina G~ 10.7
## 4 101. João Pess~ 7 2020 89.9 Campina G~ 11.5
## 5 130. João Pess~ 8 2020 118. Campina G~ 12.1
## 6 109. João Pess~ 9 2020 97.6 Campina G~ 11.1
## 7 111. João Pess~ 10 2020 103. Campina G~ 7.71
## 8 143. João Pess~ 11 2020 129. Campina G~ 13.5
## 9 114. João Pess~ 12 2020 104. Campina G~ 10.0
## 10 144. João Pess~ 1 2021 132. Campina G~ 11.8
## 11 113. João Pess~ 2 2021 103. Campina G~ 9.72
## 12 85.0 João Pess~ 3 2021 78.1 Campina G~ 6.86
Após a realização de uma análise foi observado que a cidade de Patos contém insuficintes medições para comparação de 12 meses, sendo assim, foram selecionadas as cidades de João Pessoa e Campina Grande.
Temperatura média
clima_JP_CG = clima %>%
filter (!is.na(temp_media), !is.na(chuva), cidade != "Patos") %>%
select(cidade, semana, temp_media, chuva, mes)
clima_JP_CG %>%
ggplot(aes(x = mes, y = temp_media, color = cidade)) +
facet_wrap(~ cidade) +
geom_point(alpha = .3) +
scale_x_continuous(breaks = 1:12, labels = c(1:12))+
labs(
y="Temperatura média ºC",
x="Mês"
)
No gráfico 4, expressa as evidências da temperatura média para as cidades de Campina Grande e João Pessoa. Neste gráfico de pontos, a temperatura média de João Pessoa está mais elevado em comparação com a temperatura média de Campina Grande conforme a ilustração das evidências deste gráfico.
Chuva
clima_JP_CG %>%
ggplot(aes(x = mes, y = chuva, color = cidade)) +
facet_wrap(~ cidade) +
geom_point(alpha = .3) +
scale_x_continuous(breaks = 1:12, labels = c(1:12))+
labs(
y="Chuva (mm)",
x="Mês"
)
No gráfico 5, temos visualmente os indícios da chuva entre as cidades de Campina Grande e João Pessoa. Neste gráfico, os pontos quando observado as medições pareadas de mm de chuva em cada cidade, temos João Pessoa com mais chuva durante esse ano.
Para a realização do levantamento das informações torna-se necessária ser realizado a comparacação entre os mesmos intervaloes de meses que possui as amostras de 2021, ou seja, entre janeiro, fevereiro e março. Sendo assim, foi então realizado o mesmo processo para os anos entre 2012 e 2021.
Após a exploração das informações entre as cidades foi obervado que a cidade de João Pessoa estava entre as que possuia maior e melhor medições em termos de quantidade, além que por ser cidade litoranea provavelem influencia algunas variabilidades dos campos estudados.
clima = clima_tudo %>%
filter(cidade == "João Pessoa", ano >= 2012, mes >= 1, mes <= 3) %>%
mutate(anos = if_else(ano == 2021, "2021", "outros")) %>%
select (cidade, anos, ano, mes, temp_media, chuva)
sumarios = clima %>%
group_by(ano) %>%
summarise(
temp_max_anual = max(temp_media),
temp_min_anual = min(temp_media),
temp_metade = median(temp_media),
temp_media = mean(temp_media),
chuva_max_anual = max(chuva),
chuva_min_anual = min(chuva),
chuva_mediana = median(chuva),
chuva_media = mean(chuva),
chuva_pluviosidade_anual = sum(chuva),
chuva_90perc = quantile(chuva, .9),
.groups = "drop"
)
A seguir são apresentados as informações em formato de tabela para melhor compreensão das distribuiçoes de estimativas baseados nos valores fintios entre anos, nos quais as informações de temperatura e chuva são extendidas para as devidas observações.
sumarios
## # A tibble: 10 x 11
## ano temp_max_anual temp_min_anual temp_metade temp_media chuva_max_anual
## <int> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2012 29.0 27 28.4 28.3 138.
## 2 2013 29.7 28.6 29.2 29.2 34.7
## 3 2014 29.1 27.6 28.5 28.5 89.9
## 4 2015 29.2 27.6 28.8 28.7 179.
## 5 2016 29.7 28.2 29.0 28.9 82.1
## 6 2017 30.1 28.7 29.3 29.3 94.4
## 7 2018 30.1 27.2 29.1 28.8 151.
## 8 2019 29.9 28.3 29.0 29.1 138.
## 9 2020 30.5 28.6 29.7 29.5 146.
## 10 2021 29.3 27.6 28.5 28.5 161.
## # ... with 5 more variables: chuva_min_anual <dbl>, chuva_mediana <dbl>,
## # chuva_media <dbl>, chuva_pluviosidade_anual <dbl>, chuva_90perc <dbl>
As observações sobre a tabela mostram que o uso da média para os dados torna-se melhor adequada, seguindo critérios que a variação entre os valores extremos da temp_media, lembrando que neste caso a temperatura media esta sendo caracterizado meses específico do intervalos dos meses entre janeiro e março entre cada ano, ou seja, são informações que não representam a medida.
A seguir são apresentados as informações ilustrativas dos gráficos utilizados envovendo os campos extendidos temp_max_anual, temp_min_anual e temp_metade:
Temperatura média
clima %>%
ggplot(aes(x = ano, y = temp_media)) +
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_point(data = sumarios, aes(y = temp_metade), color = "red") +
geom_point(data = sumarios, aes(y = temp_media), color = "green") +
labs(
x = "",
y = "Temperatura média ºC"
)
Se considermos as aplitutes (valor máximo - valor nínimo) de cada ano torna visível comparado aos anos vizinhos que matém padrão com poucas variações, entretanto, 2012, 2020 e 2021 este valores são maiores proporcinalmente, comparando aos outros anos.
Neste caso a mediana torna-se ideal devido , por causa, da descrepância em relação a valor na máximo, diminuindo assim, esta diferença entre a mediana coma a valor máximo para cada ano. Mesmo assim, indica que baseado nas medianas que 2021 é menos chuvoso comparado aos anos anteriores
Chuvas
clima %>%
ggplot(aes(x = ano, y = chuva)) +
geom_point(alpha = .75, size = .9, color = "grey") +
geom_point(data = sumarios, aes(y = chuva_max_anual)) +
geom_point(data = sumarios, aes(y = chuva_min_anual)) +
geom_point(data = sumarios, aes(y = chuva_mediana), color = "red") +
geom_point(data = sumarios, aes(y = chuva_media), color = "green") +
labs(
x = "",
y = "Chuva (mm)"
)