1 Introdução

O presente relatório pretende analisar os dados do estado do Rio Grande do Sul, abrangendo os seus municípios, e pôrá em análise os dados sobre a área territorial em quilômetros quadrados, a população, a densidade populacional em habitantes por quilômetro quadrado, a taxa de mortalidade infantil a cada 1.000 nascidos vivos e o PIB per capita (Produto interno bruto).

O estado do Rio Grande do Sul, possue uma área de 281.707,151 quilômetros quadrados de território, uma população de 10.882.965 habitantes, uma densidade de 38,63 habitantes por quilômetro quadrado, é o 3° estado com mais municípios do país com um total de 457 municípios, segundo o IBGE (Instituto Brasileiro de Pesquisa de Geografia e Estatística).

Exploraremos se há correlações, por exemplo, da possível relação entre as variáveis de densidade populacional e de PIB per capita, e também de área territorial e densidade populacional. Também analisaremos se os Municípios com baixas taxas de mortalidade podem indicar um bom desenvolvimento econômico enquanto que as altas taxas indicariam o oposto, isto é, se há uma correlação negativa. Usaremos para analisar as correlações o método de Pearson. Também faremos uma análise dos dados do Rio Grande do Sul, abrangendo todas as variáveis.

2 Métodos e materiais

2.1 Metodologia

A metodologia utilizada neste estudo foi estruturada para analisar e interpretar os dados socioeconômicos do estado do Rio Grande do Sul, focando em variáveis como área territorial, população, densidade populacional, mortalidade infantil e Produto Interno Bruto per capita (PIB). Para analisar as correlações entre as variáveis, utilizamos principalmente o método de correlação de Pearson, que é adequado para verificar a direção e a força das relações lineares entre variáveis quantitativas. Além disso, exploramos a correlação de Kendall para verificar a consistência das relações em relação ao método de Pearson. As visualizações foram geradas principalmente utilizando a biblioteca ggplot2 no ambiente de programação estatística R. Os gráficos de dispersão e boxplot foram empregados para identificar padrões, tendências e outliers nos dados, proporcionando uma compreensão visual das distribuições e relações entre as variáveis estudadas. Para descrever as características centrais e a dispersão dos dados, calculamos medidas estatísticas como média, mediana, mínimo, máximo e quartis. Isso nos permitiu entender melhor a distribuição dos dados e identificar pontos críticos, como valores extremos que poderiam influenciar nas análises. Além das análises de correlação, realizamos testes estatísticos para verificar a significância das relações encontradas. Utilizamos testes de hipótese com intervalo de confiança de 95% (p < 0,05) para determinar se as correlações observadas eram estatisticamente significativas.

2.2 Bibliotecas

Abaixo há a listagem das bibliotecas usadas para a pesquisa:

library(readxl)
library(ggplot2)
library(knitr)
library(corrplot)
library(kableExtra)
library(dplyr)

A readxl foi necessária para ler o arquivo xlsx no qual estavam os dados que foram baixados. A ggplot2 foi necessária para gerar os gráficos deste relatório. A knitr foi necessária para gerar as tabelas deste relatório. A corrplot foi necessária para criar gráficos de correlação entre as variáveis. A kableExtra foi necessária para gerar tabelas com informações de estatística descritiva do dataframe. A dplyr foi necessária para realizar operações de manipulação e transformação dos dados.

2.3 Dados

Os dados aqui utilizados são sobre o Estado do Rio Grande do Sul e foram tirados diretamente do site oficial do Instituto Brasileiro de Geografia e Estatística (IBGE) em formato XLSX e abrangendo todas as UFs do Estado em questão. Antes da análise, os dados foram pré-processados, retirando antes traços no Excel para não atrapalhar o manuseio dos dados, e também foram retiradas no Excel algumas colunas que não seriam utilizadas para a finalidade deste relatório, como gentílico e código da cidade, entre outros.

## 'data.frame':    494 obs. of  6 variables:
##  $ Municipio  : chr  "Aceguá" "Água Santa" "Agudo" "Ajuricaba" ...
##  $ Territorio : num  1551 292 535 323 316 ...
##  $ Populacao  : num  4170 3912 16041 6720 6123 ...
##  $ Densidade  : num  2.69 13.42 30 20.83 19.35 ...
##  $ Mortalidade: num  19.23 38.46 5.68 16.67 20.41 ...
##  $ PIB        : num  53518 92001 33039 46898 22721 ...

2.4 Variáveis

Território: área territorial em quilômetros quadrados (km²), fornece uma medida da extensão geográfica de cada município.

População: número total de habitantes em cada município, oferece uma compreensão do tamanho relativo de cada comunidade em cada município.

Densidade Populacional: calculada como o número de habitantes por quilômetro quadrado, esta variável permite uma análise da distribuição populacional em relação à área territorial de cada município.

Mortalidade: taxa de mortalidade infantil (a cada 1.000 nascidos vivos), indica o número de óbitos por mil habitantes entre as idades infanto-juvenil.

PIB per capita: produção econômica média por habitante em cada município, importante para avaliar o nível de prosperidade econômica e o padrão de vida local.

3 Resultados

3.1 Análise de correlações

Como podemos ver no gráfico seguinte, ao que diz respeito ao Estado do Rio Grande do Sul, há baixas correlações entre as colunas citadas no gráfico, exceto a correlação entre a densidade populacional e o tamanho da população, onde possuem uma certa correlação positiva entre 0,4 e 0,6.

Agora, para vermos mais claramente os valores de correlação, analisaremos o gráfico a seguir que exibe os valores de cada correlação de colunas. Como podemos ver, as correlações entre as colunas são bastante fracas, exceto a correlação entre a densidade populacional e o tamanho da população que é o,56. A segunda maior correlação é entre o tamanho da população e a taxa de mortalidade infantil, que é uma correlação negativa de valor -0,20.

A seguir podemos ver um gráfico de dispersão mostrando, especificamente, a correlação entre a variável da população e a variável mortalidade infantil. Note que a correlação é bem fraca e negativa.

Agora que vimos essa baixa correlação entre população e mortalidade infantil, como sabemos que a maioria das correlações entre as variáveis do nosso dataframe possuem correlações próximas a zero e já vimos seus valores segundo o método de Pearson, veremos a seguir testes estatísticos para analisar se esses dados são significativos. Usamos aqui, para o teste dessa correlação população-mortalidade infantil, os métodos de Pearson e de Kendall (não utilizamos o de Spearman pois não é possível calcular aqui). Note que o “p-value” é muito baixo em ambos os métodos, um valor-p abaixo de 0,05 sugere que há evidências suficientes para rejeitar a hipótese nula de que não há correlação entre as variáveis na população maior, isso significa que há uma correlação estatisticamente significativa entre as variáveis na amostra analisada.

## 
##  Pearson's product-moment correlation
## 
## data:  dados_sem_faltar$Mortalidade and dados_sem_faltar$Populacao
## t = -3.1192, df = 227, p-value = 0.002048
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.32385842 -0.07506048
## sample estimates:
##        cor 
## -0.2027289
## 
##  Kendall's rank correlation tau
## 
## data:  dados_sem_faltar$Mortalidade and dados_sem_faltar$Populacao
## z = -11.778, p-value < 2.2e-16
## alternative hypothesis: true tau is not equal to 0
## sample estimates:
##        tau 
## -0.5233213

Agora daremos ênfase na correlação entre população e densidade, ao implementar um gráfico de dispersão para análise da correlação, que é mais forte que a anterior analisada e esta é positiva.

Realizando os mesmos testes (o de Pearson e o de Kendall), vemos que o valor-p é extremamente baixo, isso indica que há evidências estatísticas extremamente fortes para rejeitar a hipótese nula de que não há correlação entre a densidade e a população na população maior.

## 
##  Pearson's product-moment correlation
## 
## data:  dados$Densidade and dados$Populacao
## t = 16.003, df = 492, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.5239192 0.6402695
## sample estimates:
##       cor 
## 0.5850973
## 
##  Kendall's rank correlation tau
## 
## data:  dados$Densidade and dados$Populacao
## z = 11.574, p-value < 2.2e-16
## alternative hypothesis: true tau is not equal to 0
## sample estimates:
##       tau 
## 0.3484149

3.2 Análise isolada de variáveis

Agora, analisemos algumas informações de estatística descritiva a respeito do nosso banco de dados do Estado do Rio Grande do Sul, o valor mínimo, o 1º Quartil, o valor mediano, o valor de média, o 3º Quartil e o valor máximo (observação, foi omitido os dados faltantes para evitar interferência nos valores). Depois veremos uma tabela mais estética para melhor visualização e análise.

##   Municipio           Territorio        Populacao         Densidade      
##  Length:229         Min.   :  27.68   Min.   :   1505   Min.   :   2.69  
##  Class :character   1st Qu.: 168.49   1st Qu.:   6787   1st Qu.:  16.50  
##  Mode  :character   Median : 307.16   Median :  16013   Median :  30.22  
##                     Mean   : 844.00   Mean   :  42357   Mean   : 166.90  
##                     3rd Qu.: 933.63   3rd Qu.:  35768   3rd Qu.: 103.15  
##                     Max.   :7800.43   Max.   :1332845   Max.   :3112.48  
##   Mortalidade          PIB        
##  Min.   :  1.20   Min.   : 13723  
##  1st Qu.:  7.78   1st Qu.: 25228  
##  Median : 12.58   Median : 34864  
##  Mean   : 17.05   Mean   : 39132  
##  3rd Qu.: 21.28   3rd Qu.: 46898  
##  Max.   :111.11   Max.   :241635

Com base no que foi fornecido pela função summary podemos fazer cálculos sobre as modas do nosso dataframe e montar a tabela a seguir, que nos fornece uma melhor visualização.

Variável Média Moda Mediana Mínimo Máximo X1º.Quartil X3º.Quartil
Território 844.00 27.676 307.16 27.68 7800.43 168.49 933.63
População 42357.00 4461.000 16013.00 1505.00 1332845.00 6787.00 35768.00
Densidade 166.90 6.020 30.22 2.69 3112.48 16.50 103.15
Mortalidade 17.05 43.480 12.58 1.20 111.11 7.78 21.28
PIB 39132.00 13723.280 34864.00 13723.00 241635.00 25228.00 46898.00

Agora veremos uma tabela exibindo todas as medidas de disperção das variáveis de PIB, População, e Densidade. Não exporemos as medidas sobre a mortalidade infantil pois há muitos dados faltantes e ela é a única variável que possue dados faltantes. Em seguida, a análise.

Medidas PIB População Densidade
Amplitude 228098.94 1331710 3110.98
Variância 619680107.20184 5470870318.62994 105825.74044
Desvio Padrão 24893.37477 73965.33187 325.30868
Coeficiente de Variação 0.6202 3.37092 3.55665
Percentual de Coeficiente de Variação 62.02% 337.09% 355.66%
  • Amplitude do PIB (228098.94): indica que varia até em 228098.94 unidades monetárias entre o valor máximo e mínimo observado nos dados.

  • Variância do PIB (619680107.20184): mostra a tamanha dispersão dos valores do PIB em relação à média, ou seja, demonstra ampla variação de valores.

  • Desvio Padrão do PIB (24893.37477): exibe um desvio padrão alto que indica que os valores estão distantes da média.

  • Coeficiente de Variação do PIB (62.02%): a varialibilidade de 62.02% em relação à média indica uma variação razoável em relação à média.

  • Amplitude de População (1331710): indica que varia em até 1331710 habitantes entre o município com menor e maior população.

  • Variância de População (5470870318.62994): mostra a tamanha dispersão da quantidade de população em relação à média, ou seja, demonstra ampla variação de população entre os municípios.

  • Desvio Padrão de População (73965.33187): exibe um desvio padrão alto que indica que as quantidades de população estão distantes da média.

  • Coeficiente de Variação da População (337.09%): a varialibilidade de 337.09% indica uma alta variação em relação à média.

  • Amplitude de Densidade (3110.98): indica que varia em até 3110.98 habitantes por km² entre o menor e o maior valor observado nos municípios.

  • Variância de Densidade (105825.74044): mostra a dispersão da densidade de população em relação à média, ou seja, demonstra uma variação considerável de densidade entre os municípios.

  • Desvio Padrão de Densidade (325.30868): exibe um desvio padrão alto que indica que as densidades de população estão distantes da média.

  • Coeficiente de Variação de Densidade (355.66%): a varialibilidade de 355.66% indica uma alta variação em relação à média.

Vemos no gráfico boxplot acima a distribuição estatística dos dados ao tocante do PIB, fornecendo informações sobre dispersão, centralidade e a presença dos outliers. Note que a centralidade é uma parte baixa e os outliers são sempre acima dela.

Vemos agora, no gráfico boxplot acima, a distribuição estatística dos dados em relação a população, isto é, a dispersão, a centralidade e os outliers. Note que a centralidade aqui é mais fina mas também é uma parte baixa e os outliers são sempre acima dela, vale notar que há um outlier bem elevado em comparação aos demais.

Agora fitamos, no gráfico boxplot acima, a dispersão, a centralidade e os outliers da mortalidade infantil no Rio Grande do Sul.Perceba que a centralidade aqui é mais volumosa que a mostrada anteriormente porém não é tão baixa quanto, por isso os seus outliers poderiam estar acima ou abaixo dela, entretanto, só há outliers acima.

4 Conclusões

O presente relatório proporcionou uma análise abrangente dos dados do estado do Rio Grande do Sul, explorando variáveis essenciais como área territorial, população, densidade populacional, mortalidade infantil e PIB per capita. Pode-se afirmar que há uma correlação positiva moderada entre a densidade e a população nestes dados, não sendo uma relação devida ao acaso, conforme indicado pelo valor-p extremamente baixo. Utilizando medidas como média, mediana, mínimo, máximo e quartis, pudemos caracterizar adequadamente as variáveis estudadas. Por exemplo, observamos que o PIB per capita varia consideravelmente entre os municípios, com uma amplitude de R$ 228.098,94, refletindo grandes disparidades econômicas dentro do estado.

Referências

IBGE, disponível em: https://cidades.ibge.gov.br/brasil/rs/panorama. Acesso em 28 de jun. de 2024.

IBGE, disponível em: https://www.ibge.gov.br/cidades-e-estados/rs.html. Acesso em Acesso em 28 de jun. de 2024.

Microsoft Excel. disponível em: https://www.office.com/launch/excel?wdOrigin=MARKETING.EXCEL.SIGNIN&auth=1. Acesso em 28 de jun. de 2024.

RStudio Desktop, posit, disponível em: https://posit.co/download/rstudio-desktop/. Acesso em 28 de jun. de 2024.

The Comprehensive R Archive Network, CRAN, disponível em: https://cran-r.c3sl.ufpr.br/. Acesso em 28 de jun. de 2024.

Anexo

# Bibliotecas usadas:
library(readxl)
library(ggplot2)
library(knitr)
library(corrplot)
library(kableExtra)
library(dplyr)

# Exportando os dados XLSX:
nomexlsx <- "RSData.xlsx"
Dadoslidos <- read_excel(nomexlsx, sheet = 1)

# Transformando em dataframe:
dados <- as.data.frame(Dadoslidos)

# Expondo tipo de variável (se é numérica ou caractere):
str(dados)

# Omitindo dados faltantes para evitar problemas nas correlações:
dados_sem_faltar = na.omit(dados)

# Retirando a coluna "Municipio" só para criar gráficos de correlação:
dados_sem_nomes <- dados_sem_faltar[, sapply(dados_sem_faltar, is.numeric)]

# Criando uma matriz para gráficos de correlação:
matriz_cor = cor(dados_sem_nomes)

# Criando o gráfico de correlação não-númerico de matrizes:
corrplot(matriz_cor)

# Criando o gráfico de correlação númerico de matrizes:
corrplot(matriz_cor, method = 'number')

# Criando um gráfico de correlação entre "Mortalidade" e "Populacao":
ggplot(dados_sem_faltar) +
  geom_point(mapping = aes(x = Mortalidade, y = Populacao))

# Realizando um teste de correlação entre "Mortalidade" e "Populacao" com base em Pearson:
cor.test(dados_sem_faltar$Mortalidade, dados_sem_faltar$Populacao, method = 'pearson')

# Realizando um teste de correlação entre "Mortalidade" e "Populacao" com base em Kendall:
cor.test(dados_sem_faltar$Mortalidade, dados_sem_faltar$Populacao, method = 'kendall')

# Criando um gráfico de correlação entre "Densidade" e "Populacao":
ggplot(dados) +
  geom_point(mapping = aes(x = Densidade, y = Populacao))

# Teste de correlação entre "Densidade" e "Populacao" com base em Pearson:
cor.test(dados$Densidade, dados$Populacao, method = 'pearson')

# Teste de correlação entre "Densidade" e "Populacao" com base em Kendall:
cor.test(dados$Densidade, dados$Populacao, method = 'kendall')

# Fazendo um sumário de dados_sem_faltar:
summary(dados_sem_faltar)

# Criando listas com base no que é visualizado no sumário:
territorio <- c(27.68, 168.49, 307.16, 844.00, 933.63, 7800.43)
populacao <- c(1505, 6787, 16013, 42357, 35768, 1332845)
densidade <- c(2.69, 16.50, 30.22, 166.90, 103.15, 3112.48)
mortalidade <- c(1.20, 7.78, 12.58, 17.05, 21.28, 111.11)
pib <- c(13723, 25228, 34864, 39132, 46898, 241635)

# Captando e armazenando a moda de cada variável do dataframe dados_sem_faltar:
modaTerri <- as.numeric(names(sort(table(dados_sem_faltar$Territorio), decreasing = TRUE)[1]))
modaPop <- as.numeric(names(sort(table(dados_sem_faltar$Populacao), decreasing = TRUE)[1]))
modaDensi <- as.numeric(names(sort(table(dados_sem_faltar$Densidade), decreasing = TRUE)[1]))
modaMort <- as.numeric(names(sort(table(dados_sem_faltar$Mortalidade), decreasing = TRUE)[1]))
modaPIB <- as.numeric(names(sort(table(dados_sem_faltar$PIB), decreasing = TRUE)[1]))

# Criando um dataframe para ser exibido em tabela e exibir descrições estatísticas:
tabelaDescri <- data.frame(
  Variável = c("Território", "População", "Densidade", "Mortalidade", "PIB"),
  Média = c(844.00, 42357, 166.90, 17.05, 39132),
  Moda = c(modaTerri, modaPop, modaDensi, modaMort, modaPIB),
  Mediana = c(307.16, 16013, 30.22, 12.58, 34864),
  Mínimo = c(27.68, 1505, 2.69, 1.20, 13723),
  Máximo = c(7800.43, 1332845, 3112.48, 111.11, 241635),
  `1º Quartil` = c(168.49, 6787, 16.50, 7.78, 25228),
  `3º Quartil` = c(933.63, 35768, 103.15, 21.28, 46898))

# Exibindo em tabela o dataframe tabelaDescri:
kable(tabelaDescri)

# Calculando a amplitude, variância, desvio padrão, média, coeficiente de variação e coeficiente de variação em porcentagem de PIB:
amplitudePIB <- range(dados$PIB)
amplitudeTotalPIB <- amplitudePIB[2] - amplitudePIB[1]

varianciaPIB <- round(var(dados$PIB), 5)

desvioPIB <- round(sd(dados$PIB), 5)

mediaPIB <- mean(dados$PIB)

coefiVariaPIB <- round((desvioPIB / mediaPIB), 5)
coVariaCalcuPIB <- round((desvioPIB / mediaPIB) * 100, 2)
coVariaPercentuPIB <- paste0(coVariaCalcuPIB, "%")

# Calculando a amplitude, variância, desvio padrão, média, coeficiente de variação e coeficiente de variação em porcentagem de Populacao:
amplitudePop <- range(dados$Populacao)
amplitudeTotalPop <- amplitudePop[2] - amplitudePop[1]

varianciaPop <- round(var(dados$Populacao), 5)

desvioPop <- round(sd(dados$Populacao), 5)

mediaPop <- mean(dados$Populacao)

coefiVariaPop <- round((desvioPop / mediaPop), 5)
coVariaCalcuPop <- round((desvioPop / mediaPop) * 100, 2)
coVariaPercentuPop <- paste0(coVariaCalcuPop, "%")

# Calculando a amplitude, variância, desvio padrão, média, coeficiente de variação e coeficiente de variação em porcentagem de Densidade:
amplitudeDensi <- range(dados$Densidade)
amplitudeTotalDensi <- amplitudeDensi[2] - amplitudeDensi[1]

varianciaDensi <- round(var(dados$Densidade), 5)

desvioDensi <- round(sd(dados$Densidade), 5)

mediaDensi <- mean(dados$Densidade)

coefiVariaDensi <- round((desvioDensi / mediaDensi), 5)
coVariaCalcuDensi <- round((desvioDensi / mediaDensi) * 100, 2)
coVariaPercentuDensi <- paste0(coVariaCalcuDensi, "%")


# Criando um dataframe para ser exibido em tabela para visualização das medidas de disperção:
tabelaGeral <- data.frame(
  Medidas = c("Amplitude", "Variância", "Desvio Padrão", "Coeficiente de Variação", "Percentual de Coeficiente de Variação"),
  PIB = c(amplitudeTotalPIB, varianciaPIB, desvioPIB, coefiVariaPIB, coVariaPercentuPIB),
  População = c(amplitudeTotalPop, varianciaPop, desvioPop, coefiVariaPop, coVariaPercentuPop),
  Densidade = c(amplitudeTotalDensi, varianciaDensi, desvioDensi, coefiVariaDensi, coVariaPercentuDensi))

# Exibindo em tabela o dataframe tabelaGeral:
kable(tabelaGeral)

# Elaborando um rol com base na densidade:
dadosdensicres <- dados[order(dados$Densidade, decreasing = TRUE),]

# Elaborando um rol com base no PIB:
dadospibcres <- dados[order(dados$PIB, decreasing = TRUE),]

# Criando um gráfico Boxplot de dados com base na variável PIB:
ggplot(dados, aes(y = PIB)) +
  geom_boxplot(width = .75, fill = "#1F74B7", outlier.size = 1.8, outlier.shape = 16, outlier.colour = "#1F74B7", outlier.fill = "#1F74B7") +
  xlab("") +
  ylab("PIB") +
  theme(legend.position = "none")

# Criando um gráfico Boxplot de dados_sem_faltar com base na variável Populacao:
ggplot(dados, aes(y = Populacao)) +
  geom_boxplot(width = .75, fill = "#1F74B7", outlier.size = 1.8, outlier.shape = 16, outlier.colour = "#1F74B7", outlier.fill = "#1F74B7") +
  xlab("") +
  ylab("População") +
  theme(legend.position = "none")

# Criando um gráfico Boxplot de dados_sem_faltar com base na variável Mortalidade:
ggplot(dados_sem_faltar, aes(y = Mortalidade)) +
  geom_boxplot(width = .75, fill = "#1F74B7", outlier.size = 1.8, outlier.shape = 16, outlier.colour = "#1F74B7", outlier.fill = "#1F74B7") +
  xlab("") +
  ylab("Mortalidade") +
  theme(legend.position = "none")