climas = read_csv(here::here("data/clima_cg_jp-semanal.csv"), 
                  col_types = "cTdddddd")

glimpse(climas)
## Rows: 2,748
## Columns: 8
## $ cidade <chr> "Campina Grande", "Campina Grande", "Campina Grande", "Campina …
## $ semana <dttm> 1992-12-27, 1993-01-03, 1993-01-10, 1993-01-31, 1993-02-07, 19…
## $ tmedia <dbl> 26.13333, 26.11905, 25.76667, 25.74000, 26.31429, 26.28571, 26.…
## $ tmax   <dbl> 30.4, 32.4, 32.2, 32.0, 32.7, 32.7, 32.3, 32.3, 32.1, 31.2, 32.…
## $ tmin   <dbl> 20.7, 19.3, 19.7, 19.9, 19.6, 20.0, 20.4, 21.2, 19.0, 19.0, 19.…
## $ chuva  <dbl> 0.0, 0.0, 0.0, 0.4, 0.3, 0.0, 4.9, 0.0, 0.0, 6.1, 0.4, 1.2, 0.0…
## $ mes    <dbl> 12, 1, 1, 1, 2, 2, 2, 2, 10, 11, 11, 11, 11, 12, 12, 12, 12, 1,…
## $ ano    <dbl> 1992, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 199…

Q1: Qual a cidade é mais quente? Isso muda se considerarmos apenas o período de janeiro e fevereiro (pico do verão)?

Resolução

Qual cidade é mais quente?
Média de temperatura da cidade de Campina Grande na faixa de tempo de 2009 à 2019
climas %>%
    filter(cidade == "Campina Grande", ano >= 2009, ano <= 2019) %>%
    ggplot(aes(x = tmedia)) + 
    facet_wrap(~ano) +
    geom_histogram(binwidth = .5, fill = "coral", color = "black")

Média de temperatura da cidade de João Pessoa na faixa de tempo de 2009 à 2019
climas %>%
    filter(cidade == "João Pessoa", ano >= 2009, ano <= 2019) %>%
    ggplot(aes(x = tmedia)) + 
    facet_wrap(~ano) +
    geom_histogram(binwidth = .5, fill = "coral", color = "black")

Calculando a média dos intervalos de temperaturas para as duas cidades
climas %>% select(cidade, tmedia, tmax, tmin, mes) %>% mutate(tMedia = as.double(tmedia),tMaxMedia = as.double(tmax),tMinMedia = as.double(tmin)) %>% group_by(cidade) %>% summarise("Temperatura Mínima" = mean(tMinMedia),"Temperatura Média" = mean(tMedia),"Temperatura Máxima" = mean(tMaxMedia))
## # A tibble: 2 × 4
##   cidade         `Temperatura Mínima` `Temperatura Média` `Temperatura Máxima`
##   <chr>                         <dbl>               <dbl>                <dbl>
## 1 Campina Grande                 19.3                24.7                 30.3
## 2 João Pessoa                    22.5                27.7                 30.7
climas %>%
    ggplot(aes(x = tmedia)) + 
    facet_wrap(~cidade) +
    geom_histogram(binwidth = .5, fill = "coral", color = "black")

climas %>%
    ggplot(mapping = aes(x = cidade, y= tmedia)) + 
    #geom_point(alpha = 0.5) +
    geom_jitter(color="coral") + 
    labs(
        x = "",
        y = "Temperatura Média Semanal em ºC "
    )

A partir dos dados do dataset e dos gráficos gerados observou-se que todas as médias da cidade de João Pessoa são maior do que as de Campina Grande. Mostrando que a temperatura média variou em uma faixa maior de valores para João Pessoa do que para Campina Grande, considerando todos os meses do ano.
Isso muda se considerarmos apenas o período de janeiro e fevereiro (pico do verão)?
climas %>% select(cidade, tmedia, tmax, tmin, mes) %>% filter(mes == 1 | mes == 2) %>% mutate(tMedia = as.double(tmedia),tMaxMedia = as.double(tmax),tMinMedia = as.double(tmin)) %>% group_by(cidade) %>% summarise("Temperatura Mínima" = mean(tMinMedia),"Temperatura Média" = mean(tMedia),"Temperatura Máxima" = mean(tMaxMedia))
## # A tibble: 2 × 4
##   cidade         `Temperatura Mínima` `Temperatura Média` `Temperatura Máxima`
##   <chr>                         <dbl>               <dbl>                <dbl>
## 1 Campina Grande                 20.4                25.9                 31.9
## 2 João Pessoa                    23.6                28.7                 31.5
climas %>%
    filter(mes == 1 | mes == 2 ) %>%
    ggplot(aes(x= tmedia)) + 
    facet_wrap(~cidade) +
    geom_histogram(binwidth = .5, fill = "coral", color = "black") +
    labs(x= "Temperatura Média", y = "", title = "Temperatura média nos dois primeiros meses do ano")

A partir dos dados referentes aos meses de Jan/Fev podemos abservar que houve um aumento de temperatura nas duas cidade; entretanto, a cidade de João Pessoa ainda permaneceu com a temperatura média maior do que as registradas em Campina Grande.

Q2: Quais os meses mais quentes e mais frios? Como você descreveria a temperatura das festas juninas das cidades nos últimos anos?

Resolução

Médias de temperaturas por mês na cidade de Campina Grande
climas %>% select(cidade, tmedia, tmax, tmin, mes) %>% filter(cidade == "Campina Grande") %>% group_by(mes) %>% summarise("Temperatura Mínima" = mean(tmin),"Temperatura Média" = mean(tmedia),"Temperatura Máxima" = mean(tmax))
## # A tibble: 12 × 4
##      mes `Temperatura Mínima` `Temperatura Média` `Temperatura Máxima`
##    <dbl>                <dbl>               <dbl>                <dbl>
##  1     1                 20.3                25.8                 31.9
##  2     2                 20.6                25.9                 31.8
##  3     3                 20.7                25.9                 31.6
##  4     4                 20.3                25.3                 30.7
##  5     5                 19.5                24.3                 29.4
##  6     6                 18.1                22.8                 27.7
##  7     7                 17.2                22.3                 27.3
##  8     8                 17.3                22.7                 28.1
##  9     9                 18.1                24.0                 29.6
## 10    10                 19.2                25.1                 31.1
## 11    11                 19.8                25.7                 31.7
## 12    12                 20.2                25.9                 32.1
climas %>%
    filter(cidade == "Campina Grande") %>%
    ggplot(aes(x = tmedia)) + 
    facet_wrap(~mes) +
    geom_histogram(binwidth = .5, fill = "coral", color = "black")

Os meses maio, junho, junho e agosto são os meses com menor temperatura em Campina Grande. Já os meses de janeiro, fevereiro, setembro, outubro, novembro e dezembro são os meses com maior temperatura. As festas juninas são realizadas em junho, logo na cidade de Campina Grande essa festa é realizada em um dos meses mais frio do ano.
Médias de temperaturas por mês na cidade de João Pessoa
climas %>% select(cidade, tmedia, tmax, tmin, mes) %>% filter(cidade == "João Pessoa") %>% group_by(mes) %>% summarise("Temperatura Mínima" = mean(tmin),"Temperatura Média" = mean(tmedia),"Temperatura Máxima" = mean(tmax))
## # A tibble: 12 × 4
##      mes `Temperatura Mínima` `Temperatura Média` `Temperatura Máxima`
##    <dbl>                <dbl>               <dbl>                <dbl>
##  1     1                 23.6                28.5                 31.4
##  2     2                 23.6                28.8                 31.6
##  3     3                 23.4                28.8                 31.7
##  4     4                 22.8                28.3                 31.4
##  5     5                 22.2                27.6                 30.9
##  6     6                 21.3                26.4                 29.9
##  7     7                 20.7                25.9                 29.3
##  8     8                 20.6                26.2                 29.4
##  9     9                 21.5                27.0                 29.9
## 10    10                 23.0                27.7                 30.5
## 11    11                 23.6                28.2                 30.9
## 12    12                 23.6                28.5                 31.2
climas %>%
    filter(cidade == "Campina Grande") %>%
    ggplot(aes(x = tmedia)) + 
    facet_wrap(~mes) +
    geom_histogram(binwidth = .5, fill = "coral", color = "black")

Os meses maio, junho, junho e agosto são os meses com menor temperatura em João Pessoa. Já os meses de janeiro, fevereiro, março, outubro, novembro e dezembro são os meses com maior temperatura. As festas juninas são realizadas em junho, logo na cidade de João Pessoa essa festa é realizada em um dos meses mais frio do ano.

Q3: Quanto chove por semana em JP e CG? Descreva a distribuição do volume de chuvas para as cidades?

Resolução

sumarios = climas %>%
    group_by(cidade, mes) %>%
    summarise(temp_max_mensal = max(tmax),
              temp_min_mensal = min(tmax),
              chuva_max = max(chuva),
              chuva_min = min(chuva),
              chuva_mediana = median(chuva),
              .groups = "drop")
climas %>%
    ggplot(aes(x = mes, y = tmax)) +
    facet_wrap(~cidade) +
    geom_point(alpha = .75, size = .9, color = "grey") + 
    geom_point(data = sumarios, aes(y = temp_max_mensal)) +
    geom_point(data = sumarios, aes(y = temp_min_mensal)) +
    labs(
        x = "Mês",
        y = "Calor"
    )

climas %>%
    ggplot(aes(x = mes, y = chuva)) +
    facet_wrap(~cidade, ncol = 1) +
    geom_point(alpha = .75, size = .9, color = "grey") + 
    geom_point(data = sumarios, aes(y = chuva_max), color = "blue") +
    geom_point(data = sumarios, aes(y = chuva_min),  color = "green") +
    geom_point(data = sumarios, aes(y = chuva_mediana), color = "red") +
    labs(
        x = "Mês do Ano",
        y = "Volume de chuvas em ml"
    )

O gráfico acima ilustrado apresenta os valores máximos(azul), os mínimos(verde) e a mediana(vermelho) da distribuição das chuvas por mês nas duas cidades. Os maiores valores médios foram obtidos durantes os meses de abril a junho. Em Campina Grande a distribuição de chuvas foi menor se comparados com as chuvas de João Pessoa.

Q4: O volume de chuvas varia mais ou menos que a temperatura das cidades?

Resolução

Analisando a Temperatura
Médias de temperaturas por mês na cidade de Campina
temp_media_cg <- climas %>% select(cidade, tmedia, tmax, tmin, mes) %>% filter(cidade == "Campina Grande") %>% group_by(mes) %>% summarise("Temperatura Mínima" = mean(tmin),"Temperatura Média" = mean(tmedia),"Temperatura Máxima" = mean(tmax) , "Cidade" = "Campina Grande")
temp_media_cg
## # A tibble: 12 × 5
##      mes `Temperatura Mínima` `Temperatura Média` `Temperatura Máxima` Cidade   
##    <dbl>                <dbl>               <dbl>                <dbl> <chr>    
##  1     1                 20.3                25.8                 31.9 Campina …
##  2     2                 20.6                25.9                 31.8 Campina …
##  3     3                 20.7                25.9                 31.6 Campina …
##  4     4                 20.3                25.3                 30.7 Campina …
##  5     5                 19.5                24.3                 29.4 Campina …
##  6     6                 18.1                22.8                 27.7 Campina …
##  7     7                 17.2                22.3                 27.3 Campina …
##  8     8                 17.3                22.7                 28.1 Campina …
##  9     9                 18.1                24.0                 29.6 Campina …
## 10    10                 19.2                25.1                 31.1 Campina …
## 11    11                 19.8                25.7                 31.7 Campina …
## 12    12                 20.2                25.9                 32.1 Campina …
Médias de temperaturas por mês na cidade de João Pessoa
temp_media_jp <- climas %>% select(cidade, tmedia, tmax, tmin, mes) %>% filter(cidade == "João Pessoa") %>% group_by(mes) %>% summarise("Temperatura Mínima" = mean(tmin),"Temperatura Média" = mean(tmedia),"Temperatura Máxima" = mean(tmax), "Cidade" = "João Pessoa")
temp_media_jp
## # A tibble: 12 × 5
##      mes `Temperatura Mínima` `Temperatura Média` `Temperatura Máxima` Cidade   
##    <dbl>                <dbl>               <dbl>                <dbl> <chr>    
##  1     1                 23.6                28.5                 31.4 João Pes…
##  2     2                 23.6                28.8                 31.6 João Pes…
##  3     3                 23.4                28.8                 31.7 João Pes…
##  4     4                 22.8                28.3                 31.4 João Pes…
##  5     5                 22.2                27.6                 30.9 João Pes…
##  6     6                 21.3                26.4                 29.9 João Pes…
##  7     7                 20.7                25.9                 29.3 João Pes…
##  8     8                 20.6                26.2                 29.4 João Pes…
##  9     9                 21.5                27.0                 29.9 João Pes…
## 10    10                 23.0                27.7                 30.5 João Pes…
## 11    11                 23.6                28.2                 30.9 João Pes…
## 12    12                 23.6                28.5                 31.2 João Pes…
Vamos unir agora os resultados obtidos assim para as duas cidades
medias_temp_jp_cg <- bind_rows(temp_media_cg,temp_media_jp)
medias_temp_jp_cg
## # A tibble: 24 × 5
##      mes `Temperatura Mínima` `Temperatura Média` `Temperatura Máxima` Cidade   
##    <dbl>                <dbl>               <dbl>                <dbl> <chr>    
##  1     1                 20.3                25.8                 31.9 Campina …
##  2     2                 20.6                25.9                 31.8 Campina …
##  3     3                 20.7                25.9                 31.6 Campina …
##  4     4                 20.3                25.3                 30.7 Campina …
##  5     5                 19.5                24.3                 29.4 Campina …
##  6     6                 18.1                22.8                 27.7 Campina …
##  7     7                 17.2                22.3                 27.3 Campina …
##  8     8                 17.3                22.7                 28.1 Campina …
##  9     9                 18.1                24.0                 29.6 Campina …
## 10    10                 19.2                25.1                 31.1 Campina …
## # … with 14 more rows
Gerando os gráficos de pontos para as temperaturas mínimas, médias e máxima para as duas cidades analisadas
medias_temp_jp_cg %>% 
  ggplot(aes(x = mes, y = `Temperatura Mínima`, color = Cidade )) + 
  geom_point() +
  geom_line()

medias_temp_jp_cg %>% 
  ggplot(aes(x = mes, y = `Temperatura Média`, color = Cidade )) + 
  geom_point() +
  geom_line()

medias_temp_jp_cg %>% 
  ggplot(aes(x = mes, y = `Temperatura Máxima`, color = Cidade )) + 
  geom_point() +
  geom_line()

Após a análise da temperratura vamos realizar a análise do volumende chuvas, para isso, vamos inicialmente unir o volume de chuvas das duas cidades estudadas
mediaMesChuvasCg <- climas %>% select(cidade, chuva, semana, mes) %>% filter(cidade == "Campina Grande") %>% group_by(mes) %>% summarise("volume_chuva" = mean(chuva), "cidade" = "Campina Grande")

mediaMesChuvasJp <- climas %>% select(cidade, chuva, semana, mes) %>% filter(cidade == "João Pessoa") %>% group_by(mes) %>% summarise("volume_chuva" = mean(chuva), "cidade" = "João Pessoa")
### Unindo a Media de chuvas de Campina com as de João Pessoa e montando a tabela
volume_chuva <- bind_rows(mediaMesChuvasCg,mediaMesChuvasJp)

volume_chuva
## # A tibble: 24 × 3
##      mes volume_chuva cidade        
##    <dbl>        <dbl> <chr>         
##  1     1        10.1  Campina Grande
##  2     2        17.6  Campina Grande
##  3     3        16.7  Campina Grande
##  4     4        23.1  Campina Grande
##  5     5        23.0  Campina Grande
##  6     6        28.2  Campina Grande
##  7     7        23.3  Campina Grande
##  8     8        13.0  Campina Grande
##  9     9         5.00 Campina Grande
## 10    10         3.19 Campina Grande
## # … with 14 more rows
Gráfico com o volume de chuvas para as duas cidades
volume_chuva %>% 
  ggplot(aes(x = mes, y = volume_chuva, color = cidade )) + 
  geom_point() +
  geom_line()

Analisando o gráfico com a variação de temperatura e o com a variação de volumne de chuvas, é possível perceber que aparentemente existe uma correlação inversamente proporcional entre os fenômenos de volume de chuva e temperatura, ou seja, quando a temperatura está alta, é normal que o volume de chuva esteja baixo e do contrário também é verdade.
Verificando a variancia entre temperatura e volume de chuvas para as duas cidades
climas %>%
    group_by(cidade) %>%
    summarise(variancia_temp = var(tmedia),
              variancia_chuva = var(chuva),
              dp_temp = sd(tmedia), 
              dp_chuva = sd(chuva))
## # A tibble: 2 × 5
##   cidade         variancia_temp variancia_chuva dp_temp dp_chuva
##   <chr>                   <dbl>           <dbl>   <dbl>    <dbl>
## 1 Campina Grande           2.33            469.    1.53     21.7
## 2 João Pessoa              1.39           1978.    1.18     44.5
A partir dos valores da tabela acima, verifica-se que nas duas cidades o grau de variância dos registros de chuva foram maiores que a variação da temperatura. Embora elas aparentemente tenham uma possível relação entre suas existências.