Esta análise explanatória será feita utilizando dados sobre os climas das cidades de Campina Grande (CG) e João Pessoa (JP). Logo abaixo será respondido 9 perguntas tomando como base os dados fornecidos.
Antes de tudo, será importado as nossas bibliotecas que serão utilizadas para plotagem dos gráficos para responder as questões.
Logo após, será importado a nossa base de dados.
climas = read_csv(here::here("data/clima_cg_jp-semanal.csv"),
col_types = "cTdddddd")
glimpse(climas)
## Observations: 2,748
## Variables: 8
## $ cidade <chr> "Campina Grande", "Campina Grande", "Campina Grande", "...
## $ semana <dttm> 1992-12-27, 1993-01-03, 1993-01-10, 1993-01-31, 1993-0...
## $ tmedia <dbl> 26.13333, 26.11905, 25.76667, 25.74000, 26.31429, 26.28...
## $ tmax <dbl> 30.4, 32.4, 32.2, 32.0, 32.7, 32.7, 32.3, 32.3, 32.1, 3...
## $ tmin <dbl> 20.7, 19.3, 19.7, 19.9, 19.6, 20.0, 20.4, 21.2, 19.0, 1...
## $ chuva <dbl> 0.0, 0.0, 0.0, 0.4, 0.3, 0.0, 4.9, 0.0, 0.0, 6.1, 0.4, ...
## $ mes <dbl> 12, 1, 1, 1, 2, 2, 2, 2, 10, 11, 11, 11, 11, 12, 12, 12...
## $ ano <dbl> 1992, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1...
Antes de partir para as perguntas, é necessário que se entenda o que cada coluna do nosso data frame significa: * cidade: Cidade onde foi feita a coleta (Campina Grande ou João Pessoa) * semana: Os dados são divididos entre semanas, então toda semana foram coletados dados * tmedia: Temperatura média da cidade * tmax: Temperatura máxima da cidade * tmin: Temperatura mínima da cidade * chuva: O quanto choveu na cidade * mes: Mês que a semana pertence * ano: Ano que a semana pertence
Para responder a pergunta acima, teremos que agrupar os dados por cidade e calcular as médias de todas as semanas para assim concluir qual a cidade é mais quente.
dadosCidade <- climas %>%
group_by(cidade) %>%
summarise(media_total = mean(tmedia))
dadosCidade %>%
plot_ly(x= ~cidade, y= ~media_total, type= "bar") %>%
layout(title = "Média temperatura CG x JP",
xaxis=list(title="Cidade"),
yaxis=list(title="Temperatura Média (°C)"))
Sendo assim, obtemos uma temperatura média de 24.7°C e 27.7°C aproxidamente para Campina Grande e João Pessoa, respectivamente. Dessa forma, podemos afirmar que a capital paraibana é mais quente que Campina Grande.
Para saber se as temperaturas máximas semanais são tão diferentes quanto as médias, precisamos agrupar os dados novamente por cidade e calcular as médias das temperaturas máximas registradas.
dadosTempMax <- climas %>%
group_by(cidade) %>%
summarise(media_temp_max = mean(tmax))
Após isso, plotamos as duas médias obtidas:
dadosTempMax %>%
plot_ly(x= ~cidade, y= ~media_temp_max, type= "bar") %>%
layout(title = "Média temperatura máxima CG x JP",
xaxis=list(title="Cidade"),
yaxis=list(title="Temperatura Média (°C)")
)
Foi obtido uma média de 30.3°C para Campina Grande e 30.7°C para João Pessoa, aproxidamente. O que resulta em uma diferença de apenas 0.4°C, bem menos do que a diferença entre as temperaturas obtidas na questão anterior. Comparando com as médias da questão anterior, pode-se ver uma diferença maior na cidade de Campina que foi de 6°C, aproximadamente. Já na cidade de João Pessoa a diferença foi apenas de 3°C.
Para entender melhor os resultados, foi plotado um gráfico de pontos.
climas %>%
plot_ly(y = ~tmax, type = "scatter", mode = "markers", color = ~cidade) %>%
layout(title = "Temperaturas máximas CG x JP",
yaxis = list(title="Temperatura máxima (°C)"), barmode="stack")
Observando o gráfico acima, pode-se ver que a cidade de Campina Grande realmente tem uma variação maior de temperaturas máximas, variando de 25°C até 34.6°C. Enquanto a maioria das temperaturas máximas de João Pessoa estão mais concentradas na região de 30°C.
Para saber quais os meses mais quentes e mais frios, temos que agrupar os dados por mês, para depois calcular as médias da temperatura de cada mês.
dadosMes <- climas %>%
group_by(mes) %>%
summarise(media_mes = mean(tmedia))
dadosMes %>%
plot_ly(x= ~mes, y= ~media_mes, type = "scatter", mode= "lines+markers") %>%
layout(title = "Média de temperatura por mês - CG x JP",
xaxis=list(title="Mês"),
yaxis=list(title="Temperatura média (°C)"), barmod="stack")
Como esperado, temos como mês mais frio o mês de Julho (07), seguido por Agosto (08) e Junho (06) obtendo temperaturas médias aproximada de 24.4°C, 24.7°C e 24.8°C, respectivamente. Esses meses se encaixam na estação de inverno do país. E como mês mais quente temos Março (03), seguido por Fevereiro (02) e Dezembro (12) com temperatura média aproximada de 27.5°C, 27.4°C e 27.3°C, um fato parcialmente esperado, pois apesar de Dezembro ser o início do verão, era esperado que o mês de Janeiro (01) estivesse entre as maiores médias de temperatura.
Para responder a pergunta acima, temos que filtrar os dados referentes apenas a cidade de Campina Grande do mês de Junho (06), pois é o mês que ocorre a festa de maior São João do mundo.
dadosSJ <- climas %>%
group_by(ano) %>%
filter(cidade == "Campina Grande") %>%
filter(mes == 6) %>%
summarise(mediaSJ = mean(tmedia))
dadosSJ %>%
plot_ly(x = ~ano, y = ~mediaSJ, type = "scatter", mode= "lines+markers") %>%
layout(title = "Média de temperatura por São João - Campina Grande",
xaxis = list(title = "Ano"),
yaxis = list(title = "Temperatura Média (°C)"))
Observando o gráfico plotado acima podemos afirmar que o São João mais frio de CG foi o do ano de 2004, registrando uma temperatura média de 22.1°C, aproximadamente.
Para responder a pergunta acima, é necessário agrupar mais uma vez por cidade e calcular as médias de chuvas de CG e JP.
dadosChuvaSemana <- climas %>%
group_by(cidade) %>%
summarise(media_chuva = mean(chuva))
dadosChuvaSemana %>%
plot_ly(x= ~cidade, y= ~media_chuva, type= "bar") %>%
layout(title = "Média chuva CG x JP",
xaxis=list(title="Cidade"),
yaxis=list(title="Média chuva (mm)"))
Foi obtido o valor de 14.0mm para a cidade de CG e 32.6mm para JP, aproximadamente.
Para responder a questão acima, é preciso que se calcule a temperatura máxima, a temperatura mínima, a quantidade de chuva máxima, a quantidade de chuva mínima, a variância da temperatura e a variância da chuva.
Para os dados de Campina Grande, temos:
dadosChuvaTempCG <- climas %>%
filter(cidade == "Campina Grande") %>%
summarise(temp_max = max(tmax),
temp_min = min(tmin),
chuva_max = max(chuva),
chuva_min = min(chuva),
var_temp = var(tmedia),
var_chuva = var(chuva))
dadosChuvaTempCG
## # A tibble: 1 x 6
## temp_max temp_min chuva_max chuva_min var_temp var_chuva
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 34.6 15.3 192. 0 2.33 469.
Levando em conta que o Nordeste é uma região quente então não vemos uma variação tão grande da temperatura quanto a de chuvas, isso fica evidente em Campina Grande, pois a temperatura máxima é de 34.6°C e a temperatura mínima é de 15.3°C, já os dados de chuva durante várias semanas é de 0mm, ou seja, enquanto temos semanas que não chovem nada, também temos semanas que chovem 191.9mm.As variâncias confirmam a nossa linha de pensamento, registrando uma variância da temperatura de 2.33 e uma variância do volume de chuva de 468.80 aproximadamente.
Para os dados de João Pessoa, temos:
dadosChuvaTempJP <- climas %>%
filter(cidade == "João Pessoa") %>%
summarise(temp_max = max(tmax),
temp_min = min(tmin),
chuva_max = max(chuva),
chuva_min = min(chuva),
var_temp = var(tmedia),
var_chuva = var(chuva))
dadosChuvaTempJP
## # A tibble: 1 x 6
## temp_max temp_min chuva_max chuva_min var_temp var_chuva
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 33.7 15.6 352. 0 1.39 1978.
Olhando os resultados da cidade de João Pessoa vemos uma repetição dos dados de Campina, no entanto, vemos uma variância maior quando falamos de volume de chuva e uma variância menor em respeito aos dados de temperatura. Os resultados são: temperatura máxima de 33.7°C, temperatura mínima de 15.6°C, voluma de chuva máximo de 351.6mm e volume de chuva mínima de 0mm. Resultando em uma variância de 1.39 na temperatura e 1977.59 no volume de chuva. Finalmente, a variância é significativamente maior no volume de chuva.
Para melhor contribuição plotou-se dois gráficos de pontos para analisar a distribuição de volume de chuva e distribuição das temperaturas médias.
climas %>%
plot_ly(y = ~tmedia, type = "scatter", mode = "markers", color = ~cidade) %>%
layout(title = "Temperaturas média CG x JP",
yaxis = list(title="Distribuição Temperaturas médias (°C)"), barmode="stack")
histogramaTemp <- climas %>%
ggplot(mapping = aes(x = tmedia, fill = cidade)) +
geom_histogram(bins = 25) +
facet_wrap(~cidade) +
labs(title = "Distribuição de temperaturas médias CG x JP", x = "Temperatura média (ºC)")
histogramaTemp
climas %>%
plot_ly(y = ~chuva, type = "scatter", mode = "markers", color = ~cidade) %>%
layout(title = "Quantidade de chuva CG x JP",
yaxis = list(title="Distribuição de chuvas (mm)"), barmode="stack")
histogramaChuva <- climas %>%
ggplot(mapping = aes(x = chuva, fill = cidade)) +
geom_histogram(bins = 25) +
facet_wrap(~cidade) +
labs(title = "Distribuição do volume de chuvas CG x JP", x = "Volume de chuva (mm)", y = "Quantidade")
histogramaChuva
Após observar os gráficos acima, fica claro o que afirmamos anteriormente. Existem semanas que não chove nada e semanas que chove muito. Enquanto na temperatura não temos temperaturas igual ou abaixo de 0°C, resultando em uma variância menor.
Considerando as análises feitas anteriormente, podemos concluir que em JP tem uma média superior de chuva do que em CG, tendo como médias 32.65mm e 14.0mm, respectivamente.
Para responder a questão acima, começamos agrupando os dados em cidade e mês e calculando as médias de chuvas por cada mês. Após isso, plotou-se a média do volume de chuva de cada cidade abaixo.
dadosMesChuva <- climas %>%
group_by(cidade, mes) %>%
summarise(media_chuva_mes = mean(chuva))
dadosMesChuva %>%
plot_ly(x= ~mes, y= ~media_chuva_mes, type = "scatter", mode= "lines+markers", color = ~cidade) %>%
layout(title = "Média de chuva por mês",
xaxis=list(title="Mês"),
yaxis=list(title="Chuva média"), barmod="stack")
Pode-se notar que o volume de chuvas seguiram o mesmo movimento, mas a cidade de João Pessoa com um volume maior de chuva. Nas duas cidades, o mês com menos chuvas foi o de Novembro (11) com uma média de volume de chuva de 2.57mm em CG e 4.74mm em JP, aproximadamente. Já o mês com o maior volume de chuva nas duas cidades foi Junho (06) com dados de 28.18mm em CG e 76.55mm em JP.
Partindo agora para visualizar as distribuições, começamos com a temperatura média:
tmediaMesCG <- climas %>%
group_by(tmedia, mes) %>%
summarise(quantidade = n())
tmediaMesCG %>%
plot_ly(x = ~mes, y = ~tmedia, size = ~quantidade, type = "scatter", mode = "markers") %>%
layout(title = "Distribuição temperatura média",
xaxis = list(title = "Mês"),
yaxis = list(title="Temperatura média"), barmode="stack")
Pode-se confirmar as afirmações ditas anteriormente, pois no mês de março tem pontos com o tamanho maior próximo a 30°C, o que significa que existem mais temperaturas registradas. Pode-se observar também que o mês de Julho (mês considerado mais frio) tem pontos maiores do que os outros meses abaixo dos 22°C. Então a distribuição de temperatura varia a partir do mês que está sendo analisado.
chuvaMesCG <- climas %>%
group_by(chuva, mes) %>%
summarise(quantidade = n())
chuvaMesCG %>%
plot_ly(x = ~mes, y = ~chuva, size = ~quantidade, type = "scatter", mode = "markers") %>%
layout(title = "Distribuição do volume de chuva",
xaxis = list(title="Mês"),
yaxis = list(title="Chuva"), barmode="stack")
Da mesma forma que aconteceu com a temperatura, podemos afirmar também com os dados de chuva. Por exemplo, meses que são considerados quentes tem uma concentração maior de chuvas próximo a 0 mmcomo Novembro, Dezembro e Janeiro. Já os meses de Junho, Julho e Agosto tem pontos com tamanho menores próximos de 0mm, além disso, eles têm uma quantidade maior de ponto ultrapassando 100mm chegando em valores até 350mm. Finalmente, podemos afirmar que a chuva também varia de acordo com o mês que está sendo analisando.