Recife, capital de Pernambuco e situada na região Nordeste do Brasil, possui um clima tropical úmido úmido que se destaca por suas características marcantes. Com temperaturas médias mensais que variam entre 25°C e 28°C ao longo do ano, a cidade apresenta pouca variação sazonal devido à proximidade com o oceano, que atua como regulador térmico. A umidade do ar é constante e elevada, frequentemente acima de 80%, resultando em uma sensação de abafamento, especialmente nos meses mais quentes. As chuvas, bem distribuídas ao longo do ano, intensificam-se entre abril e julho, sendo que as precipitações podem variar entre chuvas intensas e pancadas rápidas. Essa dinâmica climática também traz consigo a possibilidade de eventos climáticos extremos, como tempestades tropicais e furacões, além de chuvas intensas que podem causar enchentes e alagamentos. Em suma, o clima de Recife é um reflexo da influência do oceano Atlântico, com suas temperaturas constantes, umidade presente e um padrão de chuvas que contribui para a singularidade do ambiente urbano e natural da cidade.
Esse texto foi gerado por IA e poderar ser comprovado com as
análises propostas nesse documento.
A base de dados escolhida foi a Climate Weather Surface of Brazil - Hourly, diposnível no Kaggle. O dataset agrupa informações sobre dados produzidos por estações de monitoramento climático do tipo Vaisala Automatic Weather Station AWS310, informações essas disponiblizadas pelo INMET
Os dados climáticos disponibilizados pelo Instituto Nacional de Meteorologia (INMET) desempenham um papel fundamental no monitoramento e compreensão das condições climáticas do Brasil. Coletando informações como temperatura, umidade, precipitação e ventos em diversas regiões do país, o INMET oferece um panorama abrangente e confiável das variações climáticas ao longo do tempo. Esses dados não apenas embasam previsões meteorológicas mais precisas, mas também servem como base para estudos climatológicos, análises de tendências e ações de mitigação em face das mudanças climáticas.
O conjunto de dados é divido em 9 arquivos que representam o recorte das informações por região do brasil dataset e descriçãodas clunas. Para análise presente neste documento foram escolhidos os dados da região nordeste, em específico, Recife. O dataset nordeste possui 16.260.936 linhas e 27 colunas, organizadas da seguinte forma:
nordeste <- read.csv("northeast.csv", header = T,
strip.white = T,sep=",")
str(nordeste)
## 'data.frame': 16260936 obs. of 27 variables:
## $ index : int 0 1 2 3 4 5 6 7 8 9 ...
## $ Data : chr "2000-05-13" "2000-05-13" "2000-05-13" "2000-05-13" ...
## $ Hora : chr "00:00" "01:00" "02:00" "03:00" ...
## $ PRECIPITAÇÃO.TOTAL..HORÁRIO..mm. : num -9999 -9999 -9999 -9999 -9999 ...
## $ PRESSAO.ATMOSFERICA.AO.NIVEL.DA.ESTACAO..HORARIA..mB.: int -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 ...
## $ PRESSÃO.ATMOSFERICA.MAX.NA.HORA.ANT...AUT...mB. : num -9999 -9999 -9999 -9999 -9999 ...
## $ PRESSÃO.ATMOSFERICA.MIN..NA.HORA.ANT...AUT...mB. : num -9999 -9999 -9999 -9999 -9999 ...
## $ RADIACAO.GLOBAL..Kj.m.. : int -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 ...
## $ TEMPERATURA.DO.AR...BULBO.SECO..HORARIA...C. : num -9999 -9999 -9999 -9999 -9999 ...
## $ TEMPERATURA.DO.PONTO.DE.ORVALHO...C. : num -9999 -9999 -9999 -9999 -9999 ...
## $ TEMPERATURA.MÁXIMA.NA.HORA.ANT...AUT....C. : num -9999 -9999 -9999 -9999 -9999 ...
## $ TEMPERATURA.MÍNIMA.NA.HORA.ANT...AUT....C. : num -9999 -9999 -9999 -9999 -9999 ...
## $ TEMPERATURA.ORVALHO.MAX..NA.HORA.ANT...AUT....C. : num -9999 -9999 -9999 -9999 -9999 ...
## $ TEMPERATURA.ORVALHO.MIN..NA.HORA.ANT...AUT....C. : num -9999 -9999 -9999 -9999 -9999 ...
## $ UMIDADE.REL..MAX..NA.HORA.ANT...AUT..... : int -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 ...
## $ UMIDADE.REL..MIN..NA.HORA.ANT...AUT..... : int -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 ...
## $ UMIDADE.RELATIVA.DO.AR..HORARIA.... : int -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 ...
## $ VENTO..DIREÇÃO.HORARIA..gr......gr.. : int -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 ...
## $ VENTO..RAJADA.MAXIMA..m.s. : num -9999 -9999 -9999 -9999 -9999 ...
## $ VENTO..VELOCIDADE.HORARIA..m.s. : num -9999 -9999 -9999 -9999 -9999 ...
## $ region : chr "NE" "NE" "NE" "NE" ...
## $ state : chr "BA" "BA" "BA" "BA" ...
## $ station : chr "SALVADOR" "SALVADOR" "SALVADOR" "SALVADOR" ...
## $ station_code : chr "A401" "A401" "A401" "A401" ...
## $ latitude : num -13 -13 -13 -13 -13 ...
## $ longitude : num -38.5 -38.5 -38.5 -38.5 -38.5 ...
## $ height : num 51.4 51.4 51.4 51.4 51.4 ...
chooseCRANmirror(graphics = FALSE, ind=1)
#instalando Pacotes
install.packages("dplyr")
## Installing package into 'C:/Users/Victor Olimpio/AppData/Local/R/win-library/4.3'
## (as 'lib' is unspecified)
## package 'dplyr' successfully unpacked and MD5 sums checked
## Warning: cannot remove prior installation of package 'dplyr'
## Warning in file.copy(savedcopy, lib, recursive = TRUE): problem copying
## C:\Users\Victor
## Olimpio\AppData\Local\R\win-library\4.3\00LOCK\dplyr\libs\x64\dplyr.dll to
## C:\Users\Victor
## Olimpio\AppData\Local\R\win-library\4.3\dplyr\libs\x64\dplyr.dll: Permission
## denied
## Warning: restored 'dplyr'
##
## The downloaded binary packages are in
## C:\Users\Victor Olimpio\AppData\Local\Temp\RtmpCOv56t\downloaded_packages
install.packages("plotly")
## Installing package into 'C:/Users/Victor Olimpio/AppData/Local/R/win-library/4.3'
## (as 'lib' is unspecified)
## package 'plotly' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\Victor Olimpio\AppData\Local\Temp\RtmpCOv56t\downloaded_packages
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(plotly)
## Carregando pacotes exigidos: ggplot2
##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
Com o objetivo de reduzir o volume de dados, permitindo melhor desempnho para aanálise e visualização dos dados, foi feito um recorte semestral na base. O intervalo usado corresponde aos meses onde o Recife recebe o maior volume de chuva, período denominado como o inverno da idade.
# Para ajudar no recorte semestral, a variável Data foi transformada em 3 novas colunas : ano, mes, dia.
nordeste$ano <- substr(nordeste$Data, 1, 4)
nordeste$mes <- substr(nordeste$Data, 6, 7)
nordeste$dia <- substr(nordeste$Data, 9, 10)
# Aqui também foi aplicado o filtro para as estações da cidade do Recife
recifeSemestre <- nordeste %>% filter( mes %in% c("03","04","05", "06", "07", "08") & station == "RECIFE")
- Outro recorte importante da análise proposta é comparar dados
do mesmo intervalo semestral nos anos de 2010 e 2020
# Separando os dados do ano de 2010 em Pernambuco
pernambuco10 <- nordeste %>% filter(Data > "2009-12-31" & Data < "2011-01-01" & state == "PE")
# a variável Data foi transformada em 3 novas colunas : ano, mes, dia.
pernambuco10$ano <- substr(pernambuco10$Data, 1, 4)
pernambuco10$mes <- substr(pernambuco10$Data, 6, 7)
pernambuco10$dia <- substr(pernambuco10$Data, 9, 10)
#Criando o conjunto com dados de Recife em 2010
recifeSemestre10 <- pernambuco10 %>% filter( mes %in% c("03","04","05", "06", "07", "08") & station == "RECIFE")
# Separando os dados do ano de 2020 em Pernambuco
pernambuco20 <- nordeste %>% filter(Data > "2019-12-31" & Data < "2021-01-01" & state == "PE")
# a variável Data foi transformada em 3 novas colunas : ano, mes, dia.
pernambuco20$ano <- substr(pernambuco20$Data, 1, 4)
pernambuco20$mes <- substr(pernambuco20$Data, 6, 7)
pernambuco20$dia <- substr(pernambuco20$Data, 9, 10)
#Criando o conjunto com dados de Recife em 2010
recifeSemestre20 <- pernambuco20 %>% filter( mes %in% c("03","04","05", "06", "07", "08") & station == "RECIFE")
#Renomeando e Organizando as colunas
names<- c("index", "date", "hr" , "prcp", "stp" ,"smax", "smin" ,"gbrd", "temp", "dewp" ,"tmax" ,"tmin" ,"dmax" ,"dmin" ,"hmax" ,"hmin", "hmdy" ,"wdct" ,"gust", "wdsp", "rg",
"prov", "wsnm" ,"inme", "lat" , "lon" ,"elvt" , "ano" , "mes" , "dia" )
colnames(recifeSemestre) <- names
colnames(recifeSemestre10) <- names
colnames(recifeSemestre20) <- names
recifeSemestre <- select(recifeSemestre, -index, -smax, -smin, -gbrd, -dmax, -dmin, -hmax, -hmin, -wdct , -gust, -wdsp, -rg,
-prov, -wsnm ,-inme, -lat , -lon ,-elvt )
recifeSemestre10 <- select(recifeSemestre10, -index, -smax, -smin, -gbrd, -dmax, -dmin, -hmax, -hmin, -wdct , -gust, -wdsp, -rg,
-prov, -wsnm ,-inme, -lat , -lon ,-elvt )
recifeSemestre20 <- select(recifeSemestre20, -index, -smax, -smin, -gbrd, -dmax, -dmin, -hmax, -hmin, -wdct , -gust, -wdsp, -rg,
-prov, -wsnm ,-inme, -lat , -lon ,-elvt )
#Adicionando coluna para gaurdar o valor da amplitude da temperatura, que é a diferença entre o valor máximo e mínimo.
recifeSemestre$ampTemp <- recifeSemestre$tmax - recifeSemestre$tmin
recifeSemestre10$ampTemp <- recifeSemestre10$tmax - recifeSemestre10$tmin
recifeSemestre20$ampTemp <- recifeSemestre20$tmax - recifeSemestre20$tmin
# Criando a coluna datetime, juntando date e hr, para ser usado como variável de tempo para série temporal.
recifeSemestre$datetime <- paste(recifeSemestre$date, recifeSemestre$hr)
recifeSemestre10$datetime <- paste(recifeSemestre10$date, recifeSemestre10$hr)
recifeSemestre20$datetime <- paste(recifeSemestre20$date, recifeSemestre20$hr)
recifeSemestre <- subset(recifeSemestre, !apply(recifeSemestre == -9999, 1, any))
recifeSemestre10 <- subset(recifeSemestre10, !apply(recifeSemestre10 == -9999, 1, any))
recifeSemestre20 <- subset(recifeSemestre20, !apply(recifeSemestre20 == -9999, 1, any))
# recifeSemestre
head(recifeSemestre)
## date hr prcp stp temp dewp tmax tmin hmdy ano mes dia ampTemp
## 1 2005-03-01 00:00 0 1012 27.7 22.4 27.8 27.5 73 2005 03 01 0.3
## 2 2005-03-01 01:00 0 1012 27.4 22.1 27.7 27.4 73 2005 03 01 0.3
## 3 2005-03-01 02:00 0 1012 27.5 21.9 27.6 27.4 71 2005 03 01 0.2
## 4 2005-03-01 03:00 0 1012 27.1 21.9 27.5 27.0 73 2005 03 01 0.5
## 5 2005-03-01 04:00 0 1011 26.9 21.8 27.2 26.7 74 2005 03 01 0.5
## 6 2005-03-01 05:00 0 1011 25.7 21.7 26.9 25.7 79 2005 03 01 1.2
## datetime
## 1 2005-03-01 00:00
## 2 2005-03-01 01:00
## 3 2005-03-01 02:00
## 4 2005-03-01 03:00
## 5 2005-03-01 04:00
## 6 2005-03-01 05:00
# recifeSemestre10
head(recifeSemestre10)
## date hr prcp stp temp dewp tmax tmin hmdy ano mes dia ampTemp
## 1 2010-03-01 00:00 0 1012 27.6 23.4 27.8 27.5 78 2010 03 01 0.3
## 2 2010-03-01 01:00 0 1012 27.7 23.3 28.0 27.5 77 2010 03 01 0.5
## 3 2010-03-01 02:00 0 1012 27.3 23.2 27.8 27.2 79 2010 03 01 0.6
## 4 2010-03-01 03:00 0 1011 25.1 23.2 27.3 25.1 89 2010 03 01 2.2
## 5 2010-03-01 04:00 0 1011 24.1 22.8 25.1 24.1 93 2010 03 01 1.0
## 6 2010-03-01 05:00 0 1011 23.6 22.6 24.1 23.6 94 2010 03 01 0.5
## datetime
## 1 2010-03-01 00:00
## 2 2010-03-01 01:00
## 3 2010-03-01 02:00
## 4 2010-03-01 03:00
## 5 2010-03-01 04:00
## 6 2010-03-01 05:00
# recifeSemestre20
head(recifeSemestre20)
## date hr prcp stp temp dewp tmax tmin hmdy ano mes dia ampTemp
## 1 2020-03-01 00:00 0.0 1013 28.1 22.0 28.5 28.1 70 2020 03 01 0.4
## 2 2020-03-01 01:00 0.0 1013 26.6 22.4 28.2 26.6 78 2020 03 01 1.6
## 3 2020-03-01 02:00 2.0 1012 25.5 22.6 26.8 25.5 84 2020 03 01 1.3
## 4 2020-03-01 03:00 2.2 1012 25.2 23.3 25.5 25.0 89 2020 03 01 0.5
## 5 2020-03-01 04:00 5.4 1012 24.9 23.2 25.4 24.8 90 2020 03 01 0.6
## 6 2020-03-01 05:00 3.6 1011 24.4 22.9 24.9 24.3 91 2020 03 01 0.6
## datetime
## 1 2020-03-01 00:00
## 2 2020-03-01 01:00
## 3 2020-03-01 02:00
## 4 2020-03-01 03:00
## 5 2020-03-01 04:00
## 6 2020-03-01 05:00
# recifeSemestre
summary(recifeSemestre)
## date hr prcp stp
## Length:65343 Length:65343 Min. : 0.0000 Min. : 991
## Class :character Class :character 1st Qu.: 0.0000 1st Qu.:1011
## Mode :character Mode :character Median : 0.0000 Median :1013
## Mean : 0.3711 Mean :1013
## 3rd Qu.: 0.0000 3rd Qu.:1015
## Max. :50.8000 Max. :1020
## temp dewp tmax tmin
## Min. : 9.10 Min. : 6.30 Min. :17.7 Min. :-4.70
## 1st Qu.:23.10 1st Qu.:20.40 1st Qu.:23.5 1st Qu.:22.80
## Median :24.90 Median :21.50 Median :25.5 Median :24.40
## Mean :25.27 Mean :21.46 Mean :25.8 Mean :24.76
## 3rd Qu.:27.30 3rd Qu.:22.50 3rd Qu.:28.0 3rd Qu.:26.70
## Max. :36.90 Max. :29.30 Max. :35.0 Max. :33.30
## hmdy ano mes dia
## Min. : 34.00 Length:65343 Length:65343 Length:65343
## 1st Qu.: 71.00 Class :character Class :character Class :character
## Median : 83.00 Mode :character Mode :character Mode :character
## Mean : 80.57
## 3rd Qu.: 92.00
## Max. :100.00
## ampTemp datetime
## Min. : 0.000 Length:65343
## 1st Qu.: 0.400 Class :character
## Median : 0.800 Mode :character
## Mean : 1.038
## 3rd Qu.: 1.500
## Max. :29.900
# recifeSemestre10
summary(recifeSemestre10)
## date hr prcp stp
## Length:4376 Length:4376 Min. : 0.0000 Min. :1005
## Class :character Class :character 1st Qu.: 0.0000 1st Qu.:1011
## Mode :character Mode :character Median : 0.0000 Median :1013
## Mean : 0.3165 Mean :1013
## 3rd Qu.: 0.0000 3rd Qu.:1015
## Max. :30.2000 Max. :1019
## temp dewp tmax tmin
## Min. :18.50 Min. :14.50 Min. :18.70 Min. :18.40
## 1st Qu.:23.40 1st Qu.:21.00 1st Qu.:23.70 1st Qu.:23.00
## Median :25.20 Median :22.30 Median :25.80 Median :24.60
## Mean :25.59 Mean :22.08 Mean :26.12 Mean :25.08
## 3rd Qu.:27.70 3rd Qu.:23.20 3rd Qu.:28.30 3rd Qu.:27.10
## Max. :33.90 Max. :25.90 Max. :34.00 Max. :32.30
## hmdy ano mes dia
## Min. :43.00 Length:4376 Length:4376 Length:4376
## 1st Qu.:72.00 Class :character Class :character Class :character
## Median :85.00 Mode :character Mode :character Mode :character
## Mean :82.08
## 3rd Qu.:94.00
## Max. :96.00
## ampTemp datetime
## Min. :0.00 Length:4376
## 1st Qu.:0.40 Class :character
## Median :0.80 Mode :character
## Mean :1.04
## 3rd Qu.:1.50
## Max. :5.40
# recifeSemestre20
summary(recifeSemestre20)
## date hr prcp stp
## Length:4409 Length:4409 Min. : 0.0000 Min. :1008
## Class :character Class :character 1st Qu.: 0.0000 1st Qu.:1012
## Mode :character Mode :character Median : 0.0000 Median :1013
## Mean : 0.2897 Mean :1013
## 3rd Qu.: 0.0000 3rd Qu.:1014
## Max. :41.8000 Max. :1020
## temp dewp tmax tmin hmdy
## Min. :18.20 Min. :15.2 Min. :18.3 Min. :18.10 Min. :45.00
## 1st Qu.:23.60 1st Qu.:20.7 1st Qu.:23.9 1st Qu.:23.30 1st Qu.:70.00
## Median :25.10 Median :22.1 Median :25.7 Median :24.70 Median :84.00
## Mean :25.68 Mean :21.8 Mean :26.2 Mean :25.19 Mean :80.23
## 3rd Qu.:27.70 3rd Qu.:22.9 3rd Qu.:28.4 3rd Qu.:27.10 3rd Qu.:91.00
## Max. :34.30 Max. :26.7 Max. :34.6 Max. :33.30 Max. :94.00
## ano mes dia ampTemp
## Length:4409 Length:4409 Length:4409 Min. :0.000
## Class :character Class :character Class :character 1st Qu.:0.400
## Mode :character Mode :character Mode :character Median :0.800
## Mean :1.008
## 3rd Qu.:1.400
## Max. :5.500
## datetime
## Length:4409
## Class :character
## Mode :character
##
##
##
# recifeSemestre
# Foi preciso transformar variável datetime, originalmente string, para tipo data, a fim de usá-la como variável do tempo.
recifeSemestre$datetime <- as.POSIXct(recifeSemestre$datetime, format = "%Y-%m-%d %H:%M")
# Adionando a temperatura média
recifeSemestre$temperatura_media <- (recifeSemestre$tmax + recifeSemestre$tmin) / 2
# Criando um gráfico de linha
tempMedia <- plot_ly(data = recifeSemestre, x = ~datetime, y = ~temperatura_media, type = "scatter", mode = "lines") %>%
layout(title = "Série Temporal de Temperatura",
xaxis = list(title = "Data"),
yaxis = list(title = "Temperatura"), width = "100%")
## Warning: Specifying width/height in layout() is now deprecated.
## Please specify in ggplotly() or plot_ly()
tempMedia
#comparação da Temperatura Máxima e Mínima
maxMin <- plot_ly(recifeSemestre, x = ~datetime) %>%
add_lines(y = ~tmax, name = 'Temperatura máxima') %>%
add_lines(y = ~tmin, name = 'Temperatura mínima')%>%
layout(title = "Máxima X Mínima",
xaxis = list(title = "Data"),
yaxis = list(title = "Temperatura"))
maxMin
#Maior temperatura do semstre
maiorRecife <- max(recifeSemestre$tmax)
#Maior temperatura do semstre
maiorRecife <- max(recifeSemestre$menor)
## Warning in max(recifeSemestre$menor): nenhum argumento não faltante para max;
## retornando -Inf
# Série da amplitude das temperaturas
ampTemp <- plot_ly(data = recifeSemestre, x = ~datetime, y = ~ampTemp, type = "bar") %>%
layout(title = "Série Temporal de Temperatura",
xaxis = list(title = "Data"),
yaxis = list(title = "Amplitude da Temperatura"), width = "100%")
## Warning: Specifying width/height in layout() is now deprecated.
## Please specify in ggplotly() or plot_ly()
# Relação Tem. Max. e Pressão Max
tpMax <- plot_ly(recifeSemestre, x = ~stp, y = ~tmax, mode = 'markers', type = 'scatter') %>%
layout(title = "Relação entre Pressão Atmosférica Máxima e Temperatura Máxima",
xaxis = list(title = "Pressão Atmosférica Máxima (mb)"),
yaxis = list(title = "Temperatura Máxima (°C)"))
- Outro ponto importante a ser observado são dados referentess a
precpitação
# recifeSemestre
# Precpitação ao longo do tempo
seriePrec <- plot_ly(data = recifeSemestre, x = ~datetime, y = ~prcp, type = "scatter", mode = "lines") %>%
layout(title = "Série Temporal de Precipitação",
xaxis = list(title = "Data"),
yaxis = list(title = "Temperatura"), width = "100%")
## Warning: Specifying width/height in layout() is now deprecated.
## Please specify in ggplotly() or plot_ly()
seriePrec
#Gráfico de dispersão, relação entre precpitação e umidade
disper <- plot_ly(recifeSemestre, x = ~
hmdy, y = ~prcp, mode = 'markers') %>%
add_lines(x = ~hmdy, y = ~lm(prcp ~ hmdy, data = recifeSemestre)$fitted.values, name = 'Linha de Tendência') %>%
layout(title = "Relação Umidade X Temperatura",
xaxis = list(title = "Umidade"),
yaxis = list(title = "Temperatura"))
disper
disper2 <- plot_ly(recifeSemestre, x = ~hmdy, y = ~prcp, mode = 'markers', type = 'scatter') %>%
layout(title = "Relação entre Umidade e Precipitação",
xaxis = list(title = "Umidade"),
yaxis = list(title = "Precipitação (mm)"))
disper2
# Relação entre Pressão Atmosférica Máxima e Precipitação
pres <- plot_ly(recifeSemestre, x = ~stp, y = ~prcp, mode = 'markers', type = 'scatter') %>%
layout(title = "Relação entre Pressão Atmosférica Máxima e Precipitação",
xaxis = list(title = "Pressão Atmosférica Máxima (mb)"),
yaxis = list(title = "Precipitação (mm)"))
pres
# volume mensal X Média de Humidade
volume_mensal <- aggregate(prcp ~ mes, data = recifeSemestre, sum)
volume_mensal
## mes prcp
## 1 03 2744.4
## 2 04 4465.4
## 3 05 4463.4
## 4 06 5329.2
## 5 07 4685.6
## 6 08 2563.4
humidade <- aggregate(hmdy ~ mes, data = recifeSemestre, mean)
humidade
## mes hmdy
## 1 03 76.09859
## 2 04 80.11623
## 3 05 82.54404
## 4 06 82.60387
## 5 07 82.29388
## 6 08 80.06196
- Após explorar, de maneira geral, os dados de temperatura e
precipitação, agora vamos analisar os recortes de 2010 e 2020 para
perceber as mudanças, semelhanças e diferenças e, se eventos como a
pandemia, tiveram impacto no clima da cidade.
recifeSemestre10$datetime <- as.POSIXct(recifeSemestre10$datetime, format = "%Y-%m-%d %H:%M")
recifeSemestre20$datetime <- as.POSIXct(recifeSemestre20$datetime, format = "%Y-%m-%d %H:%M")
# Adionando a temperatura média
recifeSemestre10$temperatura_media <- (recifeSemestre10$tmax + recifeSemestre10$tmin) / 2
recifeSemestre20$temperatura_media <- (recifeSemestre20$tmax + recifeSemestre20$tmin) / 2
## Comparativo dos gráficos de Precipitação para 2010 e 2020
prec10 <- plot_ly() %>%
add_trace(data = recifeSemestre10, x = ~datetime, y = ~prcp, type = 'scatter', mode = 'lines+markers', name = "2010")
prec20 <- plot_ly() %>%
add_trace(data = recifeSemestre20, x = ~datetime, y = ~prcp, type = 'scatter', mode = 'lines+markers', name = "2020") %>%
layout(title = "Volume da Precipitação 2010 X 2020",
xaxis = list(title = "Ano"),
yaxis = list(title = "Precipitação - Volume"))
combPrec <- subplot(prec10, prec20, nrows = 1, margin = c(0.05))
combPrec
## Comparativo dos gráficos de Temperatura média para 2010 e 2020
temMed10 <- plot_ly() %>%
add_trace(data = recifeSemestre10, x = ~datetime, y = ~temperatura_media, type = 'scatter', mode = 'lines+markers')
tempMed20 <- plot_ly() %>%
add_trace(data = recifeSemestre20, x = ~datetime, y = ~temperatura_media, type = 'scatter', mode = 'lines+markers') %>%
layout(title = "Comparativo Temperatura Média 2010 X 2020",
xaxis = list(title = "Ano"),
yaxis = list(title = "Temperatura Média"))
combTemp <- subplot(temMed10, temMed10, nrows = 1, margin = c(0.05))
combTemp
## Comparativo dos gráficos de Temperatura MAX/MIN para 2010 e 2020
maxMin10 <- plot_ly() %>%
add_trace(data = recifeSemestre10, x = ~datetime, y = ~tmax, type = 'scatter', mode = 'lines+markers', name = 'Max - 2010') %>%
add_trace(data = recifeSemestre10, x = ~datetime, y = ~tmin, type = 'scatter', mode = 'lines+markers', name = 'Min - 2010')
maxMin20 <- plot_ly() %>%
add_trace(data = recifeSemestre20, x = ~datetime, y = ~tmax, type = 'scatter', mode = 'lines+markers', name = 'Max - 2020') %>%
add_trace(data = recifeSemestre20, x = ~datetime, y = ~tmin, type = 'scatter', mode = 'lines+markers', name = 'Min - 2020') %>%
layout(title = "Comparativo Temperatura Max/Min 2010 X 2020",
xaxis = list(title = "Ano"),
yaxis = list(title = "Temperatura"))
combMaxMin <- subplot(maxMin10, maxMin20, nrows = 1, margin = c(0.05))
combMaxMin
## Comparativo dos gráficos de Pressão para 2010 e 2020
pres10 <- plot_ly() %>%
add_trace(data = recifeSemestre10, x = ~datetime, y = ~stp, type = 'scatter', mode = 'lines+markers', name = "2010") %>%
layout(title = "Pressão 2010",
xaxis = list(title = "Ano"),
yaxis = list(title = "pressao atmosferica ao nivel da estacao (mb)"))
pres20 <- plot_ly() %>%
add_trace(data = recifeSemestre20, x = ~datetime, y = ~stp, type = 'scatter', mode = 'lines+markers', name = '2020') %>%
layout(title = "Pressão 2010 X 2020",
xaxis = list(title = "Ano"),
yaxis = list(title = "pressao atmosferica ao nivel da estacao (mb)"))
combPres <- subplot(pres10, pres20, nrows = 1, margin = c(0.05))
combPres
## Comparativo dos gráficos de Umidade para 2010 e 2020
um10 <- plot_ly() %>%
add_trace(data = recifeSemestre10, x = ~datetime, y = ~hmdy, type = 'scatter', mode = 'lines+markers', name = "2010")
umi20 <- plot_ly() %>%
add_trace(data = recifeSemestre20, x = ~datetime, y = ~hmdy, type = 'scatter', mode = 'lines+markers', name = '2020') %>%
layout(title = "Umidade 2010 X 2020",
xaxis = list(title = "Ano"),
yaxis = list(title = "Umidade Relativa"))
combUmi <- subplot(um10, umi20, nrows = 1, margin = c(0.05))
combUmi
# Criando uma visualização comparativa entre a media mensal da temperatura no semstre de 2010 e 2020
mediaMensalTemp10 <- recifeSemestre10 %>%
group_by(mes) %>%
summarize(media_temperatura = mean(temperatura_media, na.rm = TRUE))
mediaMensalTemp20 <- recifeSemestre20 %>%
group_by(mes) %>%
summarize(media_temperatura = mean(temperatura_media, na.rm = TRUE))
mesesTemp <- c("03", "04", "05", "06", "07", "08")
media_mensalTemp <- data.frame(meses = mesesTemp ,m10 = mediaMensalTemp10$media_temperatura, m20 = mediaMensalTemp20$media_temperatura)
media_mensalTemp
## meses m10 m20
## 1 03 27.65316 27.65121
## 2 04 26.94590 26.78042
## 3 05 26.11593 26.02779
## 4 06 25.11708 25.15882
## 5 07 24.29815 24.27864
## 6 08 23.51338 24.29811
serieTemp1020 <- plot_ly() %>%
add_trace(data = media_mensalTemp, x = ~meses, y = ~m10, type = 'scatter', mode = 'lines+markers', name = '2010') %>%
add_trace(data = media_mensalTemp, x = ~meses, y = ~m20, type = 'scatter', mode = 'lines+markers', name = '2020') %>%
layout(title = "Comparativo Temperatura Média 2010 X 2020",
xaxis = list(title = "Ano"),
yaxis = list(title = "Temperatura"))
serieTemp1020
# Criando uma visualização comparativa entre a media mensal da precipitação no semstre de 2010 e 2020
mediaMensalPrec10 <- recifeSemestre10 %>%
group_by(mes) %>%
summarize(media_precipitacao = mean(prcp, na.rm = TRUE))
mediaMensalPrec20 <- recifeSemestre20 %>%
group_by(mes) %>%
summarize(media_precipitacao = mean(prcp, na.rm = TRUE))
mesesPrec <- c("03", "04", "05", "06", "07", "08")
media_mensalPrec <- data.frame(meses = mesesPrec ,m10 = mediaMensalPrec10$media_precipitacao, m20 = mediaMensalPrec20$media_precipitacao)
media_mensalPrec
## meses m10 m20
## 1 03 0.1156593 0.2142473
## 2 04 0.3594444 0.3416667
## 3 05 0.1540323 0.3405114
## 4 06 0.6961111 0.4119444
## 5 07 0.3373626 0.2735849
## 6 08 0.2456522 0.1613514
seriePrec1020 <- plot_ly() %>%
add_trace(data = media_mensalPrec, x = ~meses, y = ~m10, type = 'scatter', mode = 'lines+markers', name = '2010') %>%
add_trace(data = media_mensalPrec, x = ~meses, y = ~m20, type = 'scatter', mode = 'lines+markers', name = '2020') %>%
layout(title = "Comparativo do Volume de precipitação 2010 X 2020",
xaxis = list(title = "Ano"),
yaxis = list(title = "Volume"))
seriePrec1020
A análise climática das estações do INMET no Recife ao longo dos anos de 2000 a 2020 proporciona insights interessantes sobre as condições climáticas da região. Ao comparar os recortes de 2010 e 2020, destacam-se tendências significativas que merecem atenção especial.
Os gráficos gerados a partir dos dados climáticos revelam desenhos similares, sugerindo certa consistência nas variações climáticas durante esse período. Nota-se que padrões de picos e quedas nas variáveis climáticas, como temperatura, precipitação e pressão atmosférica, permaneceram relativamente estáveis ao longo dos anos.
Entretanto, um achado notável emerge ao observar a análise de volume de precipitação. Durante o ano de 2020, em comparação com 2010, um aumento notável no volume de precipitação foi percebido, especialmente nos meses de junho e julho. Esse aumento pode estar relacionado a uma série de fatores, como padrões climáticos anômalos ou influências climáticas globais.
Ainda que as tendências climáticas gerais mostrem pouca variação e padrões consistentes, o aumento no volume de precipitação em 2020, particularmente durante os meses mencionados, ressalta a importância de investigar as razões por trás dessa mudança. Questões como as mudanças climáticas, fenômenos atmosféricos de grande escala e influências locais podem desempenhar um papel nesse aumento.
Além dos dados apresentados nos gráficos, considerar informações adicionais, como o crescimento urbano, mudanças no uso do solo e eventos climáticos globais, pode enriquecer a análise. Dessa forma, compreender melhor as tendências observadas e suas implicações se torna uma abordagem abrangente.
Em resumo, enquanto a análise dos gráficos sugere uma relativa estabilidade nas condições climáticas do Recife ao longo dos anos, a observação de um aumento notável no volume de precipitação em 2020, especialmente durante os meses de junho e julho, ressalta a necessidade contínua de investigar e entender as nuances das mudanças climáticas na região. Isso reforça a importância de considerar uma ampla gama de fatores para uma avaliação climática completa e precisa.