library(tidyverse)
library(here)
theme_set(theme_bw())
# SEMPRE read_csv NUNCA read.csv
clima_tudo = read_csv(
    here("data/tempo-jp-cg-pt.csv"),
    col_types = cols(
        .default = col_double(),
        cidade = col_character(),
        semana = col_date(format = ""),
        ano = col_integer(),
        mes = col_integer()
    )
)

clima = clima_tudo

clima %>% 
    slice(1:8)
## # A tibble: 8 x 11
##   cidade   semana     temp_max temp_media temp_min vento_medio vento_max umidade
##   <chr>    <date>        <dbl>      <dbl>    <dbl>       <dbl>     <dbl>   <dbl>
## 1 Campina… 2009-12-27     29.9       25.9     21.9        3.96       5      76  
## 2 Campina… 2010-01-03     31.4       25.5     21.2        4.08       5.3    76.2
## 3 Campina… 2010-01-10     32.1       25.6     21.3        3.95       6.6    76.0
## 4 Campina… 2010-01-17     31         24.2     20.5        2.86       5      85.3
## 5 Campina… 2010-01-24     31.2       26.1     21.2        3.69       5.5    77.8
## 6 Campina… 2010-01-31     32.1       26.0     21.4        3.97       6.5    76.0
## 7 Campina… 2010-02-07     32.2       26.0     20.4        3.40       6.3    77.8
## 8 Campina… 2010-02-14     31.3       25.8     21.5        3.40       5.5    80.4
## # … with 3 more variables: chuva <dbl>, ano <int>, mes <int>

Nesta analise, iremos utilizar os dados de 2010-2021 e analisar as correlações entre diferentes variaveis de 3 cidades do nordeste: Patos, Campina Grande e João Pessoa.

Descreva a relação entre a temperatura de uma semana e a temperatura da semana passada nas 3 cidades
clima = clima %>% 
  mutate(temp_anterior = lag(temp_media, n = 1)) 
Primeiramente, faremos um simples grafico de pontos. É possivel ver que possa existir uma correlação positiva linear, onde a relação entre a temperatura anterior tem relação com a temperatura atual.
clima %>% 
    filter(!is.na(temp_anterior), !is.na(temp_media)) %>% 
    ggplot(aes(x= temp_media, y = temp_anterior))+ 
    geom_point()

clima %>% 
    filter(!is.na(temp_anterior),!is.na(temp_media)) %>% 
    summarise(corr_pearson = cor(temp_media, temp_anterior, method = "pearson"))
## # A tibble: 1 x 1
##   corr_pearson
##          <dbl>
## 1        0.939

A partir da correlação de pearson, podemos afirmar que existe uma correlação forte positiva, evidenciando que existe uma correlação entre temperatura media com a temperatura da semana anterior.Podemos observar a existencia de uma quantidade significativa de pontos extremos, que acabam por diminuir em alguns pontos a correlação de pearson. Seu formato é expressamente linear.

Descreva a relação entre temperatura e chuvas nas semanas em que choveu nas 3 cidades
clima = clima %>% 
    mutate(choveu = chuva != 0)

Em um primeiro momento, não conseguimos evidenciar nenhuma relação entre chuva e temperatura.

clima %>% 
    filter(choveu) %>% 
    ggplot(aes(x = temp_media, y = chuva))+
    geom_point()

Porem, ao separar os dados nas tres cidade, vemos que existe uma certa tendencia nas cidades de CG e JP. Usamos escala de log10 no eixo x para tornar mais facil a vizualização, pois possuimos alguns pontos extremos.

clima %>% 
    filter(choveu) %>% 
    ggplot(aes(x = temp_media, y = chuva))+
    facet_wrap(~cidade)+
    geom_point()+
    scale_y_log10()

Separados por cidades, podemos calcular o coeficiente de pearson para cada cidade. Podemos observar que existe correlação entre as variaveis nas 3 cidades. Entretanto devemos evidenciar que nas 3 cidades a correlação é negativa, indicando que com valores maiores de x, os valores de y são menores.Nas cidades de JP e CG sua correlação fraca pois possui valores de pearson mais proximos de 0.4; Já Patos, podemos dizer que possui uma correlação desprezivel entre tais valores,porque está muito proxima de 0. Nessa escala logaritima, pode-se dizer que existe uma correlação linear, porem ao olharmos os dados sem escala log, não conseguimos notar uma tendencia linear

clima %>% 
    filter(choveu) %>% 
    group_by(cidade) %>% 
    summarise(corr_pearson = cor(temp_media, chuva, method = "spearman"))
## # A tibble: 3 x 2
##   cidade         corr_pearson
##   <chr>                 <dbl>
## 1 Campina Grande      -0.401 
## 2 João Pessoa         -0.436 
## 3 Patos               -0.0882

Aqui podemos ver a existencia de valores extremos em cada cidade, que acabam por diminuir o valor do coeficiente em cada cidade.

clima %>% 
    filter(choveu) %>% 
    group_by(cidade) %>% 
    ggplot(aes(x = temp_media, y = chuva))+
    facet_wrap(~cidade)+
    geom_point()