O desenvolvimento do projeto para a análise de dados no software R foi considerado um período de três anos, correspondente aos ano de 2020, 2021 e 2022.
Logo abaixo estão as principais bibliotecas utilizadas para a realização da análise e estudo dos dados meteorológicos.
library(readxl)
library(dplyr)
library(ggplot2)
library(data.table)
Os dados foram coletados do site https://tempo.inmet.gov.br/TabelaEstacoes/A001 no formato de planilha do Excel e feito a importação para a interface RStudio para a realização da análise e geração dos gráficos. Abaixo temos o exemplo de carregamento das informações contidas na planilha.
DMarco2020 <- read_excel("/Users/Ricardo/Desktop/Ricardo/TCC/Dados/2020/Marco_2020.xlsx")
DJunho2020 <- read_excel("/Users/Ricardo/Desktop/Ricardo/TCC/Dados/2020/Junho_2020.xlsx")
DSetembro2020 <- read_excel("/Users/Ricardo/Desktop/Ricardo/TCC/Dados/2020/Setembro_2020.xlsx")
DDezembro2020 <- read_excel("/Users/Ricardo/Desktop/Ricardo/TCC/Dados/2020/Dezembro_2020.xlsx")
DMarco2020
## # A tibble: 2,184 × 19
## Data `Hora (UTC)` `Temp. Ins. (C)` `Temp. Max. (C)`
## <dttm> <dbl> <dbl> <dbl>
## 1 2020-01-01 00:00:00 0 26.9 28
## 2 2020-01-01 00:00:00 100 26.9 27.7
## 3 2020-01-01 00:00:00 200 26.6 26.9
## 4 2020-01-01 00:00:00 300 26.2 26.8
## 5 2020-01-01 00:00:00 400 25.2 26.4
## 6 2020-01-01 00:00:00 500 26 26.6
## 7 2020-01-01 00:00:00 600 25.1 26.4
## 8 2020-01-01 00:00:00 700 24.6 25.1
## 9 2020-01-01 00:00:00 800 23.9 24.7
## 10 2020-01-01 00:00:00 900 23.2 23.9
## # ℹ 2,174 more rows
## # ℹ 15 more variables: `Temp. Min. (C)` <dbl>, `Umi. Ins. (%)` <lgl>,
## # `Umi. Max. (%)` <dbl>, `Umi. Min. (%)` <dbl>, `Pto Orvalho Ins. (C)` <lgl>,
## # `Pto Orvalho Max. (C)` <lgl>, `Pto Orvalho Min. (C)` <lgl>,
## # `Pressao Ins. (hPa)` <dbl>, `Pressao Max. (hPa)` <dbl>,
## # `Pressao Min. (hPa)` <dbl>, `Vel. Vento (m/s)` <dbl>,
## # `Dir. Vento (m/s)` <dbl>, `Raj. Vento (m/s)` <dbl>, …
Para o tratamento das informações os dados foram analisados em trimestres durante o período de um ano, para o estudo foram utilizados os anos de 2020 à 2022. Abaixo temos um exemplo para o cálculo de média dos principais fatores utilizados.
#Values first quarter January to March
Values1Tri2020 = DMarco2020 %>% summarise(
MediaChuva = round((mean(`Chuva (mm)`, na.rm = TRUE)),1),
MediaTempMax = round((mean(`Temp. Max. (C)`, na.rm = TRUE)),1),
MediaTempMin = round((mean(`Temp. Min. (C)`, na.rm = TRUE)),1),
MediaUmiMax = round((mean(`Umi. Max. (%)`, na.rm = TRUE)),1),
MediaUmiMin = round((mean(`Umi. Min. (%)`, na.rm = TRUE)),1)
)
#Values second quarter April to June
Values2Tri2020 = DJunho2020 %>% summarise(
MediaChuva = round((mean(`Chuva (mm)`, na.rm = TRUE)),1),
MediaTempMax = round((mean(`Temp. Max. (C)`, na.rm = TRUE)),1),
MediaTempMin = round((mean(`Temp. Min. (C)`, na.rm = TRUE)),1),
MediaUmiMax = round((mean(`Umi. Max. (%)`, na.rm = TRUE)),1),
MediaUmiMin = round((mean(`Umi. Min. (%)`, na.rm = TRUE)),1)
)
#Values third quarter July to September
Values3Tri2020 = DSetembro2020 %>% summarise(
MediaChuva = round((mean(`Chuva (mm)`, na.rm = TRUE)),1),
MediaTempMax = round((mean(`Temp. Max. (C)`, na.rm = TRUE)),1),
MediaTempMin = round((mean(`Temp. Min. (C)`, na.rm = TRUE)),1),
MediaUmiMax = round((mean(`Umi. Max. (%)`, na.rm = TRUE)),1),
MediaUmiMin = round((mean(`Umi. Min. (%)`, na.rm = TRUE)),1)
)
#Values fourth quarter October to December
Values4Tri2020 = DDezembro2020 %>% summarise(
MediaChuva = round((mean(`Chuva (mm)`, na.rm = TRUE)),1),
MediaTempMax = round((mean(`Temp. Max. (C)`, na.rm = TRUE)),1),
MediaTempMin = round((mean(`Temp. Min. (C)`, na.rm = TRUE)),1),
MediaUmiMax = round((mean(`Umi. Max. (%)`, na.rm = TRUE)),1),
MediaUmiMin = round((mean(`Umi. Min. (%)`, na.rm = TRUE)),1)
)
Values1Tri2020
## # A tibble: 1 × 5
## MediaChuva MediaTempMax MediaTempMin MediaUmiMax MediaUmiMin
## <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 0.3 24.4 23.2 72.4 66
#First quarter average
FirstChuvaMarco2020 = as.numeric(Values1Tri2020 %>% select(MediaChuva))
FirstTempMaxMarco2020 = as.numeric(Values1Tri2020 %>% select(MediaTempMax))
FirstTempMinMarco2020 = as.numeric(Values1Tri2020 %>% select(MediaTempMin))
FirstUmMaxMarco2020 = as.numeric(Values1Tri2020 %>% select(MediaUmiMax))
FirstUmMinMarco2020 = as.numeric(Values1Tri2020 %>% select(MediaUmiMin))
#Second quarter average
SecondChuvaMarco2020 = as.numeric(Values2Tri2020 %>% select(MediaChuva))
SecondTempMaxMarco2020 = as.numeric(Values2Tri2020 %>% select(MediaTempMax))
SecondTempMinMarco2020 = as.numeric(Values2Tri2020 %>% select(MediaTempMin))
SecondUmMaxMarco2020 = as.numeric(Values2Tri2020 %>% select(MediaUmiMax))
SecondUmMinMarco2020 = as.numeric(Values2Tri2020 %>% select(MediaUmiMin))
#Third quarter average
ThirdChuvaMarco2020 = as.numeric(Values3Tri2020 %>% select(MediaChuva))
ThirdTempMaxMarco2020 = as.numeric(Values3Tri2020 %>% select(MediaTempMax))
ThirdTempMinMarco2020 = as.numeric(Values3Tri2020 %>% select(MediaTempMin))
ThirdUmMaxMarco2020 = as.numeric(Values3Tri2020 %>% select(MediaUmiMax))
ThirdUmMinMarco2020 = as.numeric(Values3Tri2020 %>% select(MediaUmiMin))
#Fourth quarter average
FourthChuvaMarco2020 = as.numeric(Values4Tri2020 %>% select(MediaChuva))
FourthTempMaxMarco2020 = as.numeric(Values4Tri2020 %>% select(MediaTempMax))
FourthTempMinMarco2020 = as.numeric(Values4Tri2020 %>% select(MediaTempMin))
FourthUmMaxMarco2020 = as.numeric(Values4Tri2020 %>% select(MediaUmiMax))
FourthUmMinMarco2020 = as.numeric(Values4Tri2020 %>% select(MediaUmiMin))
FirstChuvaMarco2020
## [1] 0.3
FirstTempMaxMarco2020
## [1] 24.4
FirstTempMinMarco2020
## [1] 23.2
FirstUmMaxMarco2020
## [1] 72.4
FirstUmMinMarco2020
## [1] 66
#New table to group the rain values
DataTableChuva <-
data.table(
value = c(
"1º TRI",
"2º TRI",
"3º TRI",
"4º TRI"
),
average = c(
FirstChuvaMarco2020,
SecondChuvaMarco2020,
ThirdChuvaMarco2020,
FourthChuvaMarco2020
),
year = c(2020,
2020,
2020,
2020)
)
DataTableChuva
## value average year
## <char> <num> <num>
## 1: 1º TRI 0.3 2020
## 2: 2º TRI 0.1 2020
## 3: 3º TRI 0.1 2020
## 4: 4º TRI 0.2 2020
#Function to get graph about average rain
gb <- ggplot(DataTableChuva,
aes(
x = value,
y = average,
fill = value,
label = average
)) +
geom_col() +
geom_label(size = 7) +
#coord_flip()+
scale_fill_manual(values = c("plum2",
"magenta3",
"mediumorchid",
"mediumorchid4")) +
theme_classic(base_size = 15)
gb + labs(title = "MEDIA DA CHUVA/HORA POR TRIMESTRE DO ANO 2020",
x = "FATORES",
y = "MEDIA DA CHUVA TOTAL (mm)") +
theme(legend.position = "none") +
theme(plot.title = element_text(hjust = 0.5))+
theme(plot.title = element_text(size = 15))+
theme(axis.text.x = element_text(face = "bold"))
DataTableTemperatura <-
data.table(
value = c(
"MAX 1º TRI",
"MIN 1º TRI",
"MAX 2º TRI",
"MIN 2º TRI",
"MAX 3º TRI",
"MIN 3º TRI",
"MAX 4º TRI",
"MIN 4º TRI"
),
average = c(
FirstTempMaxMarco2020,
FirstTempMinMarco2020,
SecondTempMaxMarco2020,
SecondTempMinMarco2020,
ThirdTempMaxMarco2020,
ThirdTempMinMarco2020,
FourthTempMaxMarco2020,
FourthTempMinMarco2020
),
year = c(2020,
2020,
2020,
2020,
2020,
2020,
2020,
2020)
)
DataTableTemperatura
## value average year
## <char> <num> <num>
## 1: MAX 1º TRI 24.4 2020
## 2: MIN 1º TRI 23.2 2020
## 3: MAX 2º TRI 21.3 2020
## 4: MIN 2º TRI 20.1 2020
## 5: MAX 3º TRI 22.8 2020
## 6: MIN 3º TRI 21.5 2020
## 7: MAX 4º TRI 25.2 2020
## 8: MIN 4º TRI 23.7 2020
#Function to get graph about average temperature
gb <- ggplot(DataTableTemperatura,
aes(
x = value,
y = average,
fill = value,
label = average
)) +
geom_col() +
geom_label(size = 7) +
#coord_flip()+
scale_fill_manual(
values = c(
"palegreen1",
"palegreen2",
"palegreen3",
"palegreen4",
"paleturquoise1",
"paleturquoise2",
"paleturquoise3",
"paleturquoise4")) +
theme_classic(base_size = 10)
gb + labs(title = "MÉDIA DA TEMPERATURA/HORA POR TRIMESTRE DO ANO 2020",
x = "FATORES",
y = "MÉDIA DA TEMPERATURA (ºC)") +
theme(legend.position = "none") +
theme(plot.title = element_text(hjust = 0.5))+
theme(plot.title = element_text(size = 15))+
theme(axis.text.x = element_text(face = "bold"))
#New table to group the humidity values
DataTableUmidade <-
data.table(
variable = c(
"MAX 1º TRI",
"MIN 1º TRI",
"MAX 2º TRI",
"MIN 2º TRI",
"MAX 3º TRI",
"MIN 3º TRI",
"MAX 4º TRI",
"MIN 4º TRI"
),
average = c(
FirstUmMaxMarco2020,
FirstUmMinMarco2020,
SecondUmMaxMarco2020,
SecondUmMinMarco2020,
ThirdUmMaxMarco2020,
ThirdUmMinMarco2020,
FourthUmMaxMarco2020,
FourthUmMinMarco2020
),
year = c(2020,
2020,
2020,
2020,
2020,
2020,
2020,
2020
)
)
DataTableUmidade
## variable average year
## <char> <num> <num>
## 1: MAX 1º TRI 72.4 2020
## 2: MIN 1º TRI 66.0 2020
## 3: MAX 2º TRI 67.1 2020
## 4: MIN 2º TRI 61.8 2020
## 5: MAX 3º TRI 56.7 2020
## 6: MIN 3º TRI 51.6 2020
## 7: MAX 4º TRI 68.4 2020
## 8: MIN 4º TRI 61.9 2020
#Function to get graph about average humidity
gb <-
ggplot(DataTableUmidade,
aes(
x = variable,
y = average,
fill = variable,
label = average
)) +
geom_col() +
geom_label(size = 7) +
#coord_flip()+
scale_fill_manual(
values = c(
"tomato",
"tomato1",
"tomato2",
"tomato3",
"slateblue1",
"slateblue2",
"slateblue3",
"slateblue4"
)
) +
theme_classic(base_size = 11)
gb + labs(title = "MÉDIA DA UMIDADE/HORA POR TRIMESTRE DO ANO 2020",
x = "FATORES",
y = "MÉDIA DA UMIDADE (%)") +
theme(legend.position = "none") +
theme(plot.title = element_text(hjust = 0.5)) +
theme(plot.title = element_text(size = 15))+
theme(axis.text.x = element_text(face = "bold"))
No desenvolvimento e tratamento das informações, foi possível observar a importância e eficácia do software R juntamente com a IDE (Integrated Development Environment) RStudio que permitem realizar uma análise complexa de qualquer volume de dados, a visualização das informações podem ser projetadas e interpretadas por diferentes tipos de gráficos para uma melhor análise criteriosa. Outro fator importante é a utilização do RMarkdown, que permite que o programador realize a interação do seu código fonte com um documento ou um relatório técnico para explicar os resultados alcançados, e com isso, podendo tornar um arquivo explicativo para que seja de fácil visualização para qualquer pessoa.