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)

O que são os dados

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.

Questão 1

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.

Questão 2

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.

Questão 3

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)"
    )