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

Primeiro, calculamos a temperatura da semana anterior em cada linha. Tal informação nos auxiliará na resolução das questões.

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

Analizando os valores das temperaturas médias de cada cidade, levando em consideração todos os anos de análise, obtemos o seguinte gráfico:

diferenca_anos <- floor(as.numeric(difftime(max(climas$semana), min(climas$semana), units="days"))/365.25)

boxplot <- ggplot(climas, aes(x = cidade, y = tmedia)) +
  geom_boxplot() +
  labs(title = paste("Temperatura média por cidade, no período de",diferenca_anos,"anos"),
       x = "Cidade",
       y = "Temperatura média")

print(boxplot)

Observamos que a temperatura média de cada semana, no período de 31 anos, em ambas as cidades, deixa evidente que a cidade de João Pessoa possui a temperatura média mais elevada. Embora o valor máximo de temperatura da cidade de Campina Grande possa ter se igualado a valores acima da temperatura mediana da cidade de João Pessoa.

Ademais, levando em consideração apenas o período de janeiro e fevereiro (pico do verão), temos o seguinte gráfico:

meses_verao <- climas %>%
  filter(month(semana) %in% c(1, 2))

ggplot(meses_verao, aes(x = cidade, y = tmedia)) +
  geom_boxplot() +
  labs(title = paste("Temperatura média por cidade, no período de",diferenca_anos,"anos (verão)"),
       x = "Cidade",
       y = "Temperatura média")

Identificamos que a cidade de João pessoa ainda permanece como a mais quente no verão, mas nesse período ela apresenta menos variação de valores, com todos acima de 28. Da mesma forma a cidade de Campina Grande, apresentando menos variação em torno da temperatura mediana, em comparação ao gráfico anterior. Além disso, a quantidade de outliers presente nesse gráfico é muito maior que no anterior.

Realizando uma análise do histograma, levando em consideração a quantidade de temperaturas médias mais elevadas para cada cidade, temos os seguintes gráficos:

cidade_cg <- climas %>%
  filter(tolower(cidade) %in% "campina grande")

cidade_jp <- climas %>%
  filter(tolower(cidade) %in% "joão pessoa")

ggplot(cidade_cg, aes(x = tmedia)) +
  geom_histogram(fill = "skyblue", color = "white")+
  labs(title = " Frequência de temperatura média, Campina Grande, 1992 - 2019",
       x = "Temperatura média",
       y = "Frequência") +
  theme_minimal()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

ggplot(cidade_jp, aes(x = tmedia)) +
  geom_histogram(fill = "skyblue", color = "white")+
  labs(title = " Frequência de temperatura média, João Pessoa, 1987 - 2019",
       x = "Temperatura média",
       y = "Frequência") +
  theme_minimal()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

Analizando os gráficos, percebemos que a cidade de João Pessoa possue valores mais frequentes para temperaturas entre 27 e 29, enquanto a cidade de Campina Grande apresenta valores mais frequentes na faixa de 24 e 26.

E ao realizarmos uma análise de correlação entre a temperatura média e o índice pluviométrico, em cada uma das cidades, conseguimos o senguinte gráfco:

ggplot(cidade_cg, aes(x = chuva, y = tmedia)) +
  geom_point(color = "blue")+
  labs(title = "Correlação entre temperatura média e chuva - Campina Grande",
       x = "Chuva",
       y = "Temperatura média") +
  theme_minimal()

ggplot(cidade_jp, aes(x = chuva, y = tmedia)) +
  geom_point(color = "blue")+
  labs(title = "Correlação entre temperatura média e chuva - João Pessoa",
       x = "Chuva",
       y = "Temperatura média") +
  theme_minimal()

E ao realizarmos o calculo do coeficiente de correlação, conseguimos os seguintes resultados:

cidade_cg %>%
  summarise(coeficiente_person = cor(cidade_cg$tmedia, cidade_cg$chuva, method = "pearson"),
            coeficiente_spearman = cor(cidade_cg$tmedia, cidade_cg$chuva, method = "spearman"),
            coeficiente_kendall = cor(cidade_cg$tmedia, cidade_cg$chuva, method = "kendall"))
## # A tibble: 1 × 3
##   coeficiente_person coeficiente_spearman coeficiente_kendall
##                <dbl>                <dbl>               <dbl>
## 1             -0.396               -0.541              -0.377
cidade_jp %>%
  summarise(coeficiente_person = cor(cidade_jp$tmedia, cidade_jp$chuva, method = "pearson"),
            coeficiente_spearman = cor(cidade_jp$tmedia, cidade_jp$chuva, method = "spearman"),
            coeficiente_kendall = cor(cidade_jp$tmedia, cidade_jp$chuva, method = "kendall"))
## # A tibble: 1 × 3
##   coeficiente_person coeficiente_spearman coeficiente_kendall
##                <dbl>                <dbl>               <dbl>
## 1             -0.441               -0.484              -0.328

Com o resultado dos cálculos e a análise do gráfico concluimos que a correlação entre as variáveis é quase inexistente, o que podemos comprovar com os valores resultantes dos cálculos dos coeficientes de correlação dos 3 métodos nas 2 cidades.

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

Primeiramente agrupamos nossa tabela pelo mês e depois calculamos a média da temperatura (mínima ou máxima) para cada mês, durante os 31 anos.

meses_frios_cg <- cidade_cg %>%
  group_by(mes) %>%
  summarise(media = mean(tmin)) %>%
  arrange(media)

meses_quentes_cg <- cidade_cg %>%
  group_by(mes) %>%
  summarise(media = mean(tmax)) %>%
  arrange(desc(media))

ggplot(meses_frios_cg, aes(x = mes, y = media)) +
  geom_point(color = "blue")+
  labs(title = "Meses mais frios - Campina Grande",
       x = "Mês",
       y = "Temperatura")

ggplot(meses_quentes_cg, aes(x = mes, y = media)) +
  geom_point(color = "orange")+
  labs(title = "Meses mais quentes - Campina Grande",
       x = "Mês",
       y = "Temperatura")

Analizando os gráficos para a cidade de Campina Grande, percebemos que o mês mais frio e o mês mais quente é respectivamente Julho e Dezembro.

Agora para a cidade de João Pessoa, temos:

meses_frios_jp <- cidade_jp %>%
  group_by(mes) %>%
  summarise(media = mean(tmin)) %>%
  arrange(media)

meses_quentes_jp <- cidade_jp %>%
  group_by(mes) %>%
  summarise(media = mean(tmax)) %>%
  arrange(desc(media))

ggplot(meses_frios_jp, aes(x = mes, y = media)) +
  geom_point(color = "blue")+
  labs(title = "Meses mais frios - João Pessoa",
       x = "Mês",
       y = "Temperatura")

ggplot(meses_quentes_jp, aes(x = mes, y = media)) +
  geom_point(color = "orange")+
  labs(title = "Meses mais quentes - João Pessoa",
       x = "Mês",
       y = "Temperatura")

Já para análise da cdade de João Pessoa, os meses de Agosto e Março são considerados os meses mais frio e quente respectivamente.

E para ambas as cidades, o período de festas juninas acontece em meses com temperaturas mais baixas, ou seja, nos meses mais frios.

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

Inicialmente vamos calcular o volume pluviométrico médio das semanas, para cada uma das cidades, nos últimos anos.

volume_chuva_cg_jp <- climas %>%
  group_by(cidade) %>%
  summarise(media_chuva = mean(chuva))

ggplot(volume_chuva_cg_jp, aes(x = cidade, y = media_chuva)) +
  geom_point(color = "blue")+
  labs(title = "Volume médio de chuva por semana ",
       x = "Cidade",
       y = "Volume")

Percebemos que existe uma diferença notável no volume pluviométrico médio por semana em cada cidade. A cidade de João pessoa possui um volume de chuva muito mais elevado que a cidade de Campina Grande, visto que a localização, os padrões climáticos e vários outros fatores auxiliam para que esses valores sejam plausíveis.

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

Criamos o gráfico de correlação e calculamos o coeficiente de correlação entre as variáveis para cada uma das cidades.

ggplot(cidade_cg, aes(x = tmedia, y = temp_anterior)) +
  geom_point(color = "orange")+
  labs(title = "Correlação entre temperatura atua e anterior - Campina Grande",
       x = "Temperatura - semana atual",
       y = "Temperatura - semana anterior") +
  theme_minimal()
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_point()`).

ggplot(cidade_jp, aes(x = tmedia, y = temp_anterior)) +
  geom_point(color = "orange")+
  labs(title = "Correlação entre temperatura atua e anterior - João Pessoa",
       x = "Temperatura - semana atual",
       y = "Temperatura - semana anterior") +
  theme_minimal()

cidade_cg <- cidade_cg %>%
  na.omit()

cidade_jp <- cidade_jp %>%
  na.omit()

cidade_cg %>%
  summarise(coeficiente_person = cor(cidade_cg$tmedia, cidade_cg$temp_anterior, method = "pearson"),
            coeficiente_spearman = cor(cidade_cg$tmedia, cidade_cg$temp_anterior, method = "spearman"),
            coeficiente_kendall = cor(cidade_cg$tmedia, cidade_cg$temp_anterior, method = "kendall"))
## # A tibble: 1 × 3
##   coeficiente_person coeficiente_spearman coeficiente_kendall
##                <dbl>                <dbl>               <dbl>
## 1              0.880                0.856               0.669
cidade_jp %>%
  summarise(coeficiente_person = cor(cidade_jp$tmedia, cidade_jp$temp_anterior, method = "pearson"),
            coeficiente_spearman = cor(cidade_jp$tmedia, cidade_jp$temp_anterior, method = "spearman"),
            coeficiente_kendall = cor(cidade_jp$tmedia, cidade_jp$temp_anterior, method = "kendall"))
## # A tibble: 1 × 3
##   coeficiente_person coeficiente_spearman coeficiente_kendall
##                <dbl>                <dbl>               <dbl>
## 1              0.859                0.860               0.683

Percebemos que existe uma correlação entre as variáveis de temperatura de uma semana e temperatura da semana anterior. É uma correlação forte e positiva, já que podemos comprovar com os valores fornecidos no cálculo dos coeficientes de correlação. Isso pode ser constatado tanto para a cidade de Campina Grande quanto para a cidade de João Pessoa.

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

semanas_choveu_cg <- cidade_cg %>%
  filter(chuva != 0)

semanas_choveu_jp <- cidade_jp %>%
  filter(chuva != 0)


ggplot(semanas_choveu_cg, aes(x = tmedia, y = chuva)) +
  geom_point(color = "blue")+
  labs(title = "Correlação entre temperatura e chuva - Campina Grande",
       x = "Temperatura",
       y = "Chuva") +
  theme_minimal()

ggplot(semanas_choveu_jp, aes(x = tmedia, y = chuva)) +
  geom_point(color = "blue")+
  labs(title = "Correlação entre temperatura e chuva - João Pessoa",
       x = "Temperatura",
       y = "Chuva") +
  theme_minimal()

semanas_choveu_cg %>%
  summarise(coeficiente_person = cor(semanas_choveu_cg$tmedia, semanas_choveu_cg$chuva, method = "pearson"),
            coeficiente_spearman = cor(semanas_choveu_cg$tmedia, semanas_choveu_cg$chuva, method = "spearman"),
            coeficiente_kendall = cor(semanas_choveu_cg$tmedia, semanas_choveu_cg$chuva, method = "kendall"))
## # A tibble: 1 × 3
##   coeficiente_person coeficiente_spearman coeficiente_kendall
##                <dbl>                <dbl>               <dbl>
## 1             -0.335               -0.448              -0.305
semanas_choveu_jp %>%
  summarise(coeficiente_person = cor(semanas_choveu_jp$tmedia, semanas_choveu_jp$chuva, method = "pearson"),
            coeficiente_spearman = cor(semanas_choveu_jp$tmedia, semanas_choveu_jp$chuva, method = "spearman"),
            coeficiente_kendall = cor(semanas_choveu_jp$tmedia, semanas_choveu_jp$chuva, method = "kendall"))
## # A tibble: 1 × 3
##   coeficiente_person coeficiente_spearman coeficiente_kendall
##                <dbl>                <dbl>               <dbl>
## 1             -0.424               -0.459              -0.310

Depois de gerar os gráficos de dispersão e realizar os cálculo de coeficiente de correlação, concluimos que as variáveis não possuem correlação. Com o auxílio visual dos gráficos e os valores dos coeficientes de correlação fica evidente essa constatação.Essa análise pode ser visualizada em ambas as cidades de Campina Grande e João pessoa.