Análise Descritiva de Dados

Importando Pacotes

require(dplyr)
require(GGally)
library(ggplot2)
library(reshape2)
library(caret)

Importando Bases

ips_componentes = read.csv(file = "https://raw.githubusercontent.com/Claudionor20/MultivariateAnalysis/main/bases/ips_componentes1620.csv")
ips_componentes = ips_componentes[,-1]

ips_indicadores = read.csv(file = "https://raw.githubusercontent.com/Claudionor20/MultivariateAnalysis/main/bases/ips_indicadores1620.csv")
ips_indicadores = ips_indicadores[,-1]

Left Join

ips <- ips_componentes|>
  dplyr::left_join(ips_indicadores, by = c("ano", "regiao_administrativa"))

Plotando Gráficos

Média de IPS ao longo dos anos por região administrativa

ips |>
  group_by(regiao_administrativa) %>%
  summarise(media_ips = mean(ips_geral)) %>%
  arrange(desc(media_ips)) %>%
  ggplot(aes(x = reorder(regiao_administrativa, media_ips), y = media_ips)) +
  geom_bar(stat = "identity", fill = "blue") +
  theme_minimal() +
  coord_flip() +
  labs(title = "Média de IPS por Região Administrativa",
       x = "Região Administrativa",
       y = "Média de IPS")

Evolução anual do IPS de cada regisão administrativa

ips |>
  ggplot(aes(x = factor(ano), y = ips_geral)) +
  geom_bar(stat = "identity", position = "dodge", aes(fill = regiao_administrativa), width = 0.7) +
  scale_fill_viridis_d() +  
  theme_minimal() +
  theme(
    text = element_text(size = 14),  
    axis.text.x = element_text(size = 12),  
    axis.text.y = element_text(size = 12),  
    legend.title = element_text(size = 12), 
    legend.text = element_text(size = 10),  
    panel.grid.major = element_line(color = "gray", linetype = "dotted"),  
    panel.grid.minor = element_blank()  
  ) +
  labs(
    title = "Evolução do IPS por Região Administrativa",
    x = "Ano",
    y = "IPS",
    fill = "Região Administrativa"
  ) +
  facet_wrap(~ regiao_administrativa, scales = "free_y", ncol = 6)  

Boxplot dos indicadores de IPS por ano

ips_geral <- ips|>
  select(ano,ips_geral)

ips_geral|>
  ggplot(aes(x = as.factor(ano), y = ips_geral)) +
  geom_boxplot(aes(fill = "Ano"), color = "gray50", outlier.color = "red", outlier.shape = 16, outlier.size = 3) +
  scale_fill_manual(values = "#66C2A5") + 
  theme_minimal(base_size = 14) +
  theme(
    axis.text.x = element_text(angle = 45, hjust = 1),
    panel.grid.major.x = element_blank(),  
    panel.grid.minor = element_blank(),  
    legend.position = "none"  
  ) +
  labs(
    title = "Distribuição do IPS por Ano",
    x = "Ano",
    y = "IPS"
  )

Histogramas

data_long <- melt(ips, id.vars = c("ano", "regiao_administrativa"))


ggplot(data_long, aes(x = value)) +
  geom_histogram(bins = 30, fill = "blue", alpha = 0.7) +
  theme_minimal() +
  facet_wrap(~ variable, scales = "free_x") +
  labs(title = "Histogramas Dos Indicadores do IPS",
       x = "Valor",
       y = "Frequência")

Análise de Correlação

Matriz de Correlação
correlacao <- cor(ips[,-c(1,2)])
corrplot(correlacao, method = "circle", tl.cex = 0.6)

Variáveis de alta correlação com IPS
correlacao_ips <- as.data.frame(correlacao)
correlacao_ips <- correlacao_ips[1,]

variaveis_correlacionadas_ips <- which(correlacao_ips > 0.7)
nomes_variaveis_correlacionadas_ips <- colnames(correlacao_ips)[variaveis_correlacionadas_ips]
print(nomes_variaveis_correlacionadas_ips)
 [1] "ips_geral"                                  "necessidades_humanas_basicas_nota_dimensao"
 [3] "moradia"                                    "fundamentos_bem_estar_nota_dimensao"       
 [5] "acesso_conhecimento_basico"                 "acesso_informacao"                         
 [7] "oportunidades_nota_dimensao"                "liberdades_individuais"                    
 [9] "tolerancia_inclusao"                        "acesso_educacao_superior"                  
[11] "prop_acesso_telefone_celular_fixo"          "prop_acesso_internet"                      
[13] "prop_coleta_seletiva_lixo"                  "prop_pessoas_ensino_superior"              
[15] "prop_negros_indigenas_ensino_superior"      "prop_frequencia_ensino_superior"           
# É possível perceber que a maioria dos indicadores de IPS possuem correlação alta com o próprio IPS
LS0tDQp0aXRsZTogIsONbmRpY2UgZGUgUHJvZ3Jlc3NvIFNvY2lhbCINCnN1YnRpdGxlOiAiVW1hIGFuw6FsaXNlIGRvcyBpbmRpY2Fkb3JlcyBkZSBjb25zdHJ1w6fDo28gZG8gw61uZGljZSBkZSBwcm9ncmVzc28gc29jaWFsIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KIyBBbsOhbGlzZSBEZXNjcml0aXZhIGRlIERhZG9zDQoNCiMjIyMgSW1wb3J0YW5kbyBQYWNvdGVzDQoNCmBgYHtyfQ0KcmVxdWlyZShkcGx5cikNCnJlcXVpcmUoR0dhbGx5KQ0KbGlicmFyeShnZ3Bsb3QyKQ0KbGlicmFyeShyZXNoYXBlMikNCmxpYnJhcnkoY2FyZXQpDQoNCmBgYA0KDQojIyMjIEltcG9ydGFuZG8gQmFzZXMNCg0KYGBge3J9DQppcHNfY29tcG9uZW50ZXMgPSByZWFkLmNzdihmaWxlID0gImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9DbGF1ZGlvbm9yMjAvTXVsdGl2YXJpYXRlQW5hbHlzaXMvbWFpbi9iYXNlcy9pcHNfY29tcG9uZW50ZXMxNjIwLmNzdiIpDQppcHNfY29tcG9uZW50ZXMgPSBpcHNfY29tcG9uZW50ZXNbLC0xXQ0KDQppcHNfaW5kaWNhZG9yZXMgPSByZWFkLmNzdihmaWxlID0gImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9DbGF1ZGlvbm9yMjAvTXVsdGl2YXJpYXRlQW5hbHlzaXMvbWFpbi9iYXNlcy9pcHNfaW5kaWNhZG9yZXMxNjIwLmNzdiIpDQppcHNfaW5kaWNhZG9yZXMgPSBpcHNfaW5kaWNhZG9yZXNbLC0xXQ0KDQpgYGANCg0KIyMjIyBMZWZ0IEpvaW4NCg0KYGBge3J9DQppcHMgPC0gaXBzX2NvbXBvbmVudGVzfD4NCiAgZHBseXI6OmxlZnRfam9pbihpcHNfaW5kaWNhZG9yZXMsIGJ5ID0gYygiYW5vIiwgInJlZ2lhb19hZG1pbmlzdHJhdGl2YSIpKQ0KYGBgDQoNCiMjIFBsb3RhbmRvIEdyw6FmaWNvcw0KDQojIyMgTcOpZGlhIGRlIElQUyBhbyBsb25nbyBkb3MgYW5vcyBwb3IgcmVnacOjbyBhZG1pbmlzdHJhdGl2YQ0KDQpgYGB7cn0NCmlwcyB8Pg0KICBncm91cF9ieShyZWdpYW9fYWRtaW5pc3RyYXRpdmEpICU+JQ0KICBzdW1tYXJpc2UobWVkaWFfaXBzID0gbWVhbihpcHNfZ2VyYWwpKSAlPiUNCiAgYXJyYW5nZShkZXNjKG1lZGlhX2lwcykpICU+JQ0KICBnZ3Bsb3QoYWVzKHggPSByZW9yZGVyKHJlZ2lhb19hZG1pbmlzdHJhdGl2YSwgbWVkaWFfaXBzKSwgeSA9IG1lZGlhX2lwcykpICsNCiAgZ2VvbV9iYXIoc3RhdCA9ICJpZGVudGl0eSIsIGZpbGwgPSAiYmx1ZSIpICsNCiAgdGhlbWVfbWluaW1hbCgpICsNCiAgY29vcmRfZmxpcCgpICsNCiAgbGFicyh0aXRsZSA9ICJNw6lkaWEgZGUgSVBTIHBvciBSZWdpw6NvIEFkbWluaXN0cmF0aXZhIiwNCiAgICAgICB4ID0gIlJlZ2nDo28gQWRtaW5pc3RyYXRpdmEiLA0KICAgICAgIHkgPSAiTcOpZGlhIGRlIElQUyIpDQoNCmBgYA0KDQojIyMgRXZvbHXDp8OjbyBhbnVhbCBkbyBJUFMgZGUgY2FkYSByZWdpc8OjbyBhZG1pbmlzdHJhdGl2YQ0KDQpgYGB7ciBmaWcud2lkdGg9MTUsIGZpZy5oZWlnaHQ9OH0NCmlwcyB8Pg0KICBnZ3Bsb3QoYWVzKHggPSBmYWN0b3IoYW5vKSwgeSA9IGlwc19nZXJhbCkpICsNCiAgZ2VvbV9iYXIoc3RhdCA9ICJpZGVudGl0eSIsIHBvc2l0aW9uID0gImRvZGdlIiwgYWVzKGZpbGwgPSByZWdpYW9fYWRtaW5pc3RyYXRpdmEpLCB3aWR0aCA9IDAuNykgKw0KICBzY2FsZV9maWxsX3ZpcmlkaXNfZCgpICsgIA0KICB0aGVtZV9taW5pbWFsKCkgKw0KICB0aGVtZSgNCiAgICB0ZXh0ID0gZWxlbWVudF90ZXh0KHNpemUgPSAxNCksICANCiAgICBheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChzaXplID0gMTIpLCAgDQogICAgYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDEyKSwgIA0KICAgIGxlZ2VuZC50aXRsZSA9IGVsZW1lbnRfdGV4dChzaXplID0gMTIpLCANCiAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplID0gMTApLCAgDQogICAgcGFuZWwuZ3JpZC5tYWpvciA9IGVsZW1lbnRfbGluZShjb2xvciA9ICJncmF5IiwgbGluZXR5cGUgPSAiZG90dGVkIiksICANCiAgICBwYW5lbC5ncmlkLm1pbm9yID0gZWxlbWVudF9ibGFuaygpICANCiAgKSArDQogIGxhYnMoDQogICAgdGl0bGUgPSAiRXZvbHXDp8OjbyBkbyBJUFMgcG9yIFJlZ2nDo28gQWRtaW5pc3RyYXRpdmEiLA0KICAgIHggPSAiQW5vIiwNCiAgICB5ID0gIklQUyIsDQogICAgZmlsbCA9ICJSZWdpw6NvIEFkbWluaXN0cmF0aXZhIg0KICApICsNCiAgZmFjZXRfd3JhcCh+IHJlZ2lhb19hZG1pbmlzdHJhdGl2YSwgc2NhbGVzID0gImZyZWVfeSIsIG5jb2wgPSA2KSAgDQpgYGANCg0KIyMjIEJveHBsb3QgZG9zIGluZGljYWRvcmVzIGRlIElQUyBwb3IgYW5vDQoNCmBgYHtyfQ0KaXBzX2dlcmFsIDwtIGlwc3w+DQogIHNlbGVjdChhbm8saXBzX2dlcmFsKQ0KDQppcHNfZ2VyYWx8Pg0KICBnZ3Bsb3QoYWVzKHggPSBhcy5mYWN0b3IoYW5vKSwgeSA9IGlwc19nZXJhbCkpICsNCiAgZ2VvbV9ib3hwbG90KGFlcyhmaWxsID0gIkFubyIpLCBjb2xvciA9ICJncmF5NTAiLCBvdXRsaWVyLmNvbG9yID0gInJlZCIsIG91dGxpZXIuc2hhcGUgPSAxNiwgb3V0bGllci5zaXplID0gMykgKw0KICBzY2FsZV9maWxsX21hbnVhbCh2YWx1ZXMgPSAiIzY2QzJBNSIpICsgDQogIHRoZW1lX21pbmltYWwoYmFzZV9zaXplID0gMTQpICsNCiAgdGhlbWUoDQogICAgYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSA0NSwgaGp1c3QgPSAxKSwNCiAgICBwYW5lbC5ncmlkLm1ham9yLnggPSBlbGVtZW50X2JsYW5rKCksICANCiAgICBwYW5lbC5ncmlkLm1pbm9yID0gZWxlbWVudF9ibGFuaygpLCAgDQogICAgbGVnZW5kLnBvc2l0aW9uID0gIm5vbmUiICANCiAgKSArDQogIGxhYnMoDQogICAgdGl0bGUgPSAiRGlzdHJpYnVpw6fDo28gZG8gSVBTIHBvciBBbm8iLA0KICAgIHggPSAiQW5vIiwNCiAgICB5ID0gIklQUyINCiAgKQ0KYGBgDQojIyMgSGlzdG9ncmFtYXMNCg0KYGBge3IgZmlnLndpZHRoPTEyLCBmaWcuaGVpZ2h0PTh9DQpkYXRhX2xvbmcgPC0gbWVsdChpcHMsIGlkLnZhcnMgPSBjKCJhbm8iLCAicmVnaWFvX2FkbWluaXN0cmF0aXZhIikpDQoNCg0KZ2dwbG90KGRhdGFfbG9uZywgYWVzKHggPSB2YWx1ZSkpICsNCiAgZ2VvbV9oaXN0b2dyYW0oYmlucyA9IDMwLCBmaWxsID0gImJsdWUiLCBhbHBoYSA9IDAuNykgKw0KICB0aGVtZV9taW5pbWFsKCkgKw0KICBmYWNldF93cmFwKH4gdmFyaWFibGUsIHNjYWxlcyA9ICJmcmVlX3giKSArDQogIGxhYnModGl0bGUgPSAiSGlzdG9ncmFtYXMgRG9zIEluZGljYWRvcmVzIGRvIElQUyIsDQogICAgICAgeCA9ICJWYWxvciIsDQogICAgICAgeSA9ICJGcmVxdcOqbmNpYSIpDQpgYGANCg0KIyMjIEFuw6FsaXNlIGRlIENvcnJlbGHDp8Ojbw0KDQojIyMjIyBNYXRyaXogZGUgQ29ycmVsYcOnw6NvDQoNCmBgYHtyIGZpZy53aWR0aD0xMiwgZmlnLmhlaWdodD04fQ0KY29ycmVsYWNhbyA8LSBjb3IoaXBzWywtYygxLDIpXSkNCmNvcnJwbG90KGNvcnJlbGFjYW8sIG1ldGhvZCA9ICJjaXJjbGUiLCB0bC5jZXggPSAwLjYpDQpgYGANCg0KIyMjIyMgVmFyacOhdmVpcyBkZSBhbHRhIGNvcnJlbGHDp8OjbyBjb20gSVBTDQoNCmBgYHtyfQ0KY29ycmVsYWNhb19pcHMgPC0gYXMuZGF0YS5mcmFtZShjb3JyZWxhY2FvKQ0KY29ycmVsYWNhb19pcHMgPC0gY29ycmVsYWNhb19pcHNbMSxdDQoNCnZhcmlhdmVpc19jb3JyZWxhY2lvbmFkYXNfaXBzIDwtIHdoaWNoKGNvcnJlbGFjYW9faXBzID4gMC43KQ0Kbm9tZXNfdmFyaWF2ZWlzX2NvcnJlbGFjaW9uYWRhc19pcHMgPC0gY29sbmFtZXMoY29ycmVsYWNhb19pcHMpW3ZhcmlhdmVpc19jb3JyZWxhY2lvbmFkYXNfaXBzXQ0KcHJpbnQobm9tZXNfdmFyaWF2ZWlzX2NvcnJlbGFjaW9uYWRhc19pcHMpDQoNCiMgw4kgcG9zc8OtdmVsIHBlcmNlYmVyIHF1ZSBhIG1haW9yaWEgZG9zIGluZGljYWRvcmVzIGRlIElQUyBwb3NzdWVtIGNvcnJlbGHDp8OjbyBhbHRhIGNvbSBvIHByw7NwcmlvIElQUw0KDQpgYGANCg==