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

Médias dos intervalos de temperaturas
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 x 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

Em todas as médias, a cidade de João Pessoa teve sua média geral mais alta, dessa forma podemos dizer que de acordo com os dados contidos nesse dataset, a cidade de João pessoa é mais quente que Campina Grande.

“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 x 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

NA médias apenas para os meses de Jan/Fev, houve um aumento de temperatura, porém a cidade de João Pessoa continua como mais quente, pois a mínima e média continuam maiores e a máxima ficou menor apenas 0,36172g, um valor que não torna em linhas gerais a cidade mais.

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

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 x 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

Os meses 05,06,07 e 08 são os meses com menor temperatura em Campina Grande. Já os meses 09,10,11,12,01 e 02 tendem a ser os meses mais quentes. As festas Juninas ocorrem no mês 06, que é normalmente um dos meses do ano mais frio.

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 x 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

Os meses 05,06,07 e 08 são os meses com menor temperatura em João Pessoa. Já os meses 10,11,12,01,02,03 tendem a ser os meses mais quentes. As festas Juninas ocorrem no mês 06, que é normalmente um dos meses do ano mais frio.

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

Resolução

Média de chuva por semana para as cidades de Campina Grande e João Pessoa

climas %>% select(cidade, chuva, semana) %>% group_by(cidade) %>% summarise("Média Chuva / semana" = mean(chuva))
## # A tibble: 2 x 2
##   cidade         `Média Chuva / semana`
##   <chr>                           <dbl>
## 1 Campina Grande                   14.0
## 2 João Pessoa                      32.6

Verificando meses com maior volume de chuvas (João Pessoa)

mediaMesChuvasJp <- climas %>% select(cidade, chuva, semana, mes) %>% filter(cidade == "João Pessoa") %>% group_by(mes) %>% summarise("Média Chuva / mês (João Pessoa)" = mean(chuva))
mediaMesChuvasJp
## # A tibble: 12 x 2
##      mes `Média Chuva / mês (João Pessoa)`
##    <dbl>                             <dbl>
##  1     1                             19.3 
##  2     2                             24.3 
##  3     3                             36.9 
##  4     4                             55.3 
##  5     5                             58.3 
##  6     6                             76.5 
##  7     7                             55.5 
##  8     8                             30.9 
##  9     9                             15.8 
## 10    10                              7.23
## 11    11                              4.74
## 12    12                              8.39

Verificando meses com maior volume de chuvas (Campina Grande)

mediaMesChuvasCg <- climas %>% select(cidade, chuva, semana, mes) %>% filter(cidade == "Campina Grande") %>% group_by(mes) %>% summarise("Média Chuva/mês (CG)" = mean(chuva))
mediaMesChuvasCg
## # A tibble: 12 x 2
##      mes `Média Chuva/mês (CG)`
##    <dbl>                  <dbl>
##  1     1                  10.1 
##  2     2                  17.6 
##  3     3                  16.7 
##  4     4                  23.1 
##  5     5                  23.0 
##  6     6                  28.2 
##  7     7                  23.3 
##  8     8                  13.0 
##  9     9                   5.00
## 10    10                   3.19
## 11    11                   2.57
## 12    12                   3.63

Gráfico 1

plot(mediaMesChuvasCg,main = "Média chuva (Campina Grande)")

#### Gráfico 2

plot(density(mediaMesChuvasCg$`Média Chuva/mês (CG)`),main = "Média chuva (Campina Grande)")

Gráfico 3

ggplot(mediaMesChuvasCg, aes(mes, `Média Chuva/mês (CG)`), ) + 
  geom_bar(stat = "identity") + 
  labs(x = "Meses (Campina Grande)", y= "Volume")

#### Gráfico 4

ggplot(mediaMesChuvasJp, aes(mes, `Média Chuva / mês (João Pessoa)`), ) + 
  geom_bar(stat = "identity") + 
  labs(x = "Meses (João Pessoa)", y= "Volume")

#### Tanto para Campina Grande quanto para João Pessoa, o volume de chuva aumenta meados de maio até julho. Vale salientar que joão pessoa possui uma maior volume de chuva.

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 x 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 x 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~

Unindo os dados das duas cidades

medias_jp_cg <- bind_rows(temp_media_cg,temp_media_jp)
medias_jp_cg
## # A tibble: 24 x 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

Gráfico 5 de Ponto/Linha p/ Temperaturas. Jp e Cg juntos.

medias_jp_cg %>% 
  ggplot(aes(x = mes, y = `Temperatura Mínima`, color = Cidade )) + 
  geom_point() +
  geom_line()

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

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

Gráfico 6 de Ponto/Linha p/ Temperaturas. Jp e Cg separados.

medias_jp_cg %>% 
  ggplot(aes(x = mes, y = `Temperatura Mínima`)) + 
  facet_wrap(~ Cidade) + 
  geom_point() +
  geom_line()

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

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

Análisando o volume de chuvas.

Unindo dados de volume de chuva.

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

volume_chuva <- bind_rows(mediaMesChuvasCg,mediaMesChuvasJp)

volume_chuva 
## # A tibble: 24 x 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 7 Volume de Chuva em João pessoa e Campina Grande

volume_chuva %>% 
  ggplot(aes(x = mes, y = volume_chuva, color = cidade )) + 
  geom_point() +
  geom_line()

Analisando os gráficos 5 e 7, ficou fácil notar 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.

Calculando coeficiente de variação

  cv <- function(x){coef<-sd(x)/mean(x)*100 
  return (coef)}

coef_variacao_vol_chuva <- cv(volume_chuva$volume_chuva)

coef_temp_min <- cv(medias_jp_cg$`Temperatura Mínima`)
coef_temp_media <- cv(medias_jp_cg$`Temperatura Média`)
coef_temp_max <- cv(medias_jp_cg$`Temperatura Máxima`)

sprintf(paste("Coeficiente de variação do volume de chuva: ", coef_variacao_vol_chuva))
## [1] "Coeficiente de variação do volume de chuva:  85.2876899181282"
sprintf(paste("Coeficiente de variação de temperatura mínima: ", coef_temp_min))
## [1] "Coeficiente de variação de temperatura mínima:  9.73353576669368"
sprintf(paste("Coeficiente de variação de temperatura média: ", coef_temp_media))
## [1] "Coeficiente de variação de temperatura média:  7.4586811526499"
sprintf(paste("Coeficiente de variação de temperatura máxima: ", coef_temp_max))
## [1] "Coeficiente de variação de temperatura máxima:  4.54827318395419"

A ordem de grandeza da variação entre os dois fenomenos são diferentes, assim sendo, a variação contida no fenômeno de temperatura é menor que do volume de chuva, embora elas aparentemente tenham uma possível relação entre suas existências.