climas = read_csv(here::here("C:/Users/amand/OneDrive/Documentos/fpcc2/atividade-1/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…

Calcular a temperatura da semana anterior em cada linha

climas = climas %>% 
  mutate(temp_anterior = lag(tmedia, n = 1)) 

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

climas <- na.omit(climas)
# Fazendo a média da temperatura média para cada cidade
media_temp <- aggregate(climas$tmedia, by = list(climas$cidade), FUN = mean)

# Ordenando as cidades pela temperatura média média em ordem decrescente
media_temp <- media_temp[order(-media_temp$x),]

# Imprimindo a lista de cidades em ordem decrescente de temperatura média
print(media_temp)
##          Group.1        x
## 2    João Pessoa 27.65318
## 1 Campina Grande 24.68959

A cidade mais quente é joão pessoa.

media_temp_jan_fev <- aggregate(tmedia ~ cidade, data = subset(climas, mes %in% c(1, 2)), FUN = mean)

# Ordenando as cidades pela temperatura média média em ordem decrescente
media_temp_jan_fev <- media_temp_jan_fev[order(-media_temp_jan_fev$tmedia),]

# Imprimindo a lista de cidades em ordem decrescente de temperatura média em janeiro e fevereiro
print(media_temp_jan_fev)
##           cidade   tmedia
## 2    João Pessoa 28.65027
## 1 Campina Grande 25.85547

Mesmo considerando apenas o pico de verão podemos ver que se mantem inalterado e joao pessoa ainda é mais quente.

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

# Agrupa os dados por cidade, mês e ano e calcula a média das temperaturas
dados_media_temp <- climas %>%
  group_by(cidade, mes, ano) %>%
  summarize(temp_media = mean(tmedia, na.rm = TRUE))
## `summarise()` has grouped output by 'cidade', 'mes'. You can override using the
## `.groups` argument.
# Calcula a média das temperaturas por cidade e mês
dados_media_temp_por_mes <- dados_media_temp %>%
  group_by(cidade, mes) %>%
  summarize(temp_media = mean(temp_media, na.rm = TRUE))
## `summarise()` has grouped output by 'cidade'. You can override using the
## `.groups` argument.
# Ordena os meses por temperatura e seleciona os mais quentes e mais frios
dados_media_temp_por_mes %>%
  arrange(cidade, -temp_media) %>%
  group_by(cidade) %>%
  summarize(mais_quentes = paste(mes[1:3], collapse = ", "),
            mais_frios = paste(mes[10:12], collapse = ", "))
## # A tibble: 2 × 3
##   cidade         mais_quentes mais_frios
##   <chr>          <chr>        <chr>     
## 1 Campina Grande 12, 2, 3     6, 8, 7   
## 2 João Pessoa    3, 2, 1      6, 8, 7

Ao analisarmos mes a mes e pegarmos os 3 meses mais frios e os 3 mais quentes vemos que ambas as cidades possuem seu periodo de frio iniciando no são joao e se extende ate agosto. Quando observamos os meses mais quentes de cada cidade vemos que joao pessoa tem um calor em dezembro, porem com uma leve diminuida e uma nova crescente em fevereiro ate março. Enquanto campina grande se inicia em janeiro e vai até março

climas %>%
    filter(mes == 6) %>%
    ggplot(aes(x=ano, y=tmedia, color=cidade)) + 
    geom_point() +
    labs(title = "Temperatura Media no mes de junho durante os anos")

climas %>%
    filter(mes > 5, mes < 8) %>%
    ggplot(mapping = aes(y = cidade, x = tmedia)) + 
    # geom_point(alpha = 0.3) + 
    geom_jitter(height = .1, alpha = .6, color = "blue") + 
    labs(
         title = "Temperatura Media Semanal nos meses de junho e julho",
         y = "", 
         x = "Temperatura Media Semanal (C)"
    )

Analisando o periodo de são joão vemos que além de ser o periodo mais frio em ambas as cidades mantem uma media abaixo de 30°

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

# Calculando a soma da chuva para cada cidade e semana
chuva_por_semana <- aggregate(chuva ~ cidade + semana, data = climas, FUN = sum)

# Plotando um histograma do volume de chuvas para cada cidade
library(ggplot2)
ggplot(climas, aes(x = chuva, fill = cidade)) +
  geom_histogram(alpha = 0.5, position = "identity", bins = 30) +
  xlab("Volume de chuva (mm)") +
  ylab("Frequencia") +
  ggtitle("Distribuicao do volume de chuvas em Joao Pessoa e Campina Grande")

Analisando a frequencia das chuvas, podemos observar que campina grande possui uma frequencia maior de chuvas, em relação a joao pessoa, apenas em seus volumes mais baixo.

Q4: Qual a relação entre a temperatura de uma semana e a temperatura da semana anterior (descreva para as duas cidades)?

# Calcula a correlação entre a temperatura de uma semana e a temperatura da semana anterior para cada cidade
correlacao_jp <- cor(climas %>% filter(cidade == "João Pessoa") %>% select(tmedia, temp_anterior), use = "pairwise.complete.obs")
correlacao_cg <- cor(climas %>% filter(cidade == "Campina Grande") %>% select(tmedia, temp_anterior), use = "pairwise.complete.obs")

# Imprime a correlação para cada cidade
cat("Correlação entre a temperatura de uma semana e a temperatura da semana anterior em Joao Pessoa:", correlacao_jp, "\n")
## Correlação entre a temperatura de uma semana e a temperatura da semana anterior em Joao Pessoa: 1 0.859407 0.859407 1
cat("Correlação entre a temperatura de uma semana e a temperatura da semana anterior em Campina Grande:", correlacao_cg, "\n")
## Correlação entre a temperatura de uma semana e a temperatura da semana anterior em Campina Grande: 1 0.880168 0.880168 1

Ao analisarmos a correlação podemos ver que existe uma paridade de mais de 80% em ambas a cidades, mostrande sim que o clima de uma semana pode influenciar na proxima.

Q5: Qual a relação entre temperatura e chuvas nas semanas em que choveu (descreva para as duas cidades)?

# Filtra os dados para as semanas em que houve registro de chuva
dados_jp_cg_chuva <- climas %>% filter(chuva > 0)

# Cria um gráfico de dispersão da temperatura e da chuva para cada cidade
ggplot(data = dados_jp_cg_chuva, aes(x = tmedia, y = chuva)) +
  geom_point() +
  facet_grid(rows = vars(cidade)) +
  xlab("Temperatura (°C)") +
  ylab("Chuva (mm)") +
  ggtitle("Relação entre temperatura e chuva nas semanas com registro de chuva por cidade")

Com o grafico gerado, podemos analisar que em joao pessoa conforme a frequencia de chuva aumenta a tendencia da temperatura é dar uma leve diminuida,na qual analisando as pequenas chuvas, elas não alteram a temperatura.por sua vez, em campina grande seu clima por ser mais frio que joao pessoa, analise do grafico não demonstra relação com a frequência de chuvas. porém para uma conclusão mais exata a criação de uma correlação entre elas podem ser feitas.

library(dplyr)

climas %>% 
  filter(chuva > 0) %>% 
  group_by(cidade) %>% 
  summarize(correlacao = cor(tmedia, chuva))
## # A tibble: 2 × 2
##   cidade         correlacao
##   <chr>               <dbl>
## 1 Campina Grande     -0.335
## 2 João Pessoa        -0.424

Analisando a correção, podemos ver que em ambas a correlação entre chuva e clima são baixas, o que mostra que um nçao interfere no outro.