1. Instalação e importação de bibliotecas

1.1. O que são objetos e funções?

O R é uma linguagem de programação que trabalha com objetos e funções. Os objetos são qualquer dado (número, texto, tabela etc.) que armazenamos na memória do computador por meio da sintaxe <-. No exemplo abaixo, criamos o objeto denominado objeto_1 e atribuímos a ele o valor 5.

objeto_1 <- 5

objeto_1
## [1] 5

A função, por outro lado, nada mais é que um conjunto de procedimentos a serem realizados. Abaixo, vemos como funciona a construção da função que calcula a média de dois números.

funcao_media <- function(numero_1, numero_2){
  soma = numero_1 + numero_2  # soma dos dois números
  resultado = soma/2          # divisão da soma pela quantidade 
  return(resultado)
}

funcao_media(20,100)
## [1] 60

1.2. O que são bibliotecas e como importá-las?

A boa notícia é que geralmente nós não precisamos criar funções! Muita gente já faz isso…o que facilita muito nossa vida! Essas funções são armazenadas em pacotes. Portanto, para utilizarmos, é necessário instalá-los e importá-los para o nosso ambiente de trabalho, por meio das funções install.packages() e library().

Enfim, chega de blá blá blá! Instalemos e importemos as bibliotecas necessárias para a construção do nosso mapa! Hehe

# install.packages("readxl")
# install.packages("sf")
# install.packages("tmap")

library(readxl) # biblioteca para importar arquivos excel
library(sf) # biblioteca para importar shapefile
## Linking to GEOS 3.9.1, GDAL 3.2.1, PROJ 7.2.1
library(tmap) # biblioteca para criar mapas

Obs.: Shapefile é um formato de armazenamento de dados que incorpora características geográficas (posição, forma etc.).

2. Importação da tabela com os dados e do arquivo shapefile

2.1. importação da tabela com os dados de interesse

Importadas as bibliotecas que serão utilizadas, é necessário importar a tabela com os dados de interesse por UF. Aqui, vamos utilizar como exemplo uma tabela com o percentual de matrículas integrais por UF.

arquivo_dados <- read_excel("tabela_mat_int.xlsx") 

IMPORTANTE: sempre que for importar um arquivo no R, é necessário verificar onde ele está localizado no computador. Com a função getwd(), é possível visualizar para onde o diretório do R está apontando. Veja, abaixo, que o caminho que o R está apontando é a pasta Documents. O arquivo tabela_mat_int.xlsx também está neste local.

getwd()
## [1] "C:/Users/TPE/Documents"

2.2. importação de arquivo shapefile com os dados de UF

Primeiramente, é preciso baixar estes arquivos neste [https://www.ibge.gov.br/geociencias/organizacao-do-territorio/malhas-territoriais/15774-malhas.html?=&t=downloads][link]. Lá, você encontra tanto para estados (“municipio_2020 => Brasil => BR => BR_UF_2020.zip”), quanto municípios (“municipio_2020 => Brasil => BR => BR_municipios_2020.zip”).

Em seguida, importe o arquivo com a função st_read(), conforme exemplo abaixo.

arquivo_shapefile <- st_read("BR_UF_2020/BR_UF_2020.shp")
## Reading layer `BR_UF_2020' from data source 
##   `C:\Users\TPE\Documents\BR_UF_2020\BR_UF_2020.shp' using driver `ESRI Shapefile'
## Simple feature collection with 27 features and 4 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: -73.99045 ymin: -33.75118 xmax: -28.84764 ymax: 5.271841
## Geodetic CRS:  SIRGAS 2000

3. Elaboração do mapa!

3.1. Incorporação dos valores no arquivo shapefile!

Antes de produzirmos o mapa, é necessário trazer os valores do arquivo_dados para o arquivo_shapefile, que contém as características geográficas das unidades da federação. Isso pode ser feito por meio da função merge(). Como é possível visualizar, trata-se, basicamente, de um PROCV.

base_final <- merge(x = arquivo_shapefile, y = arquivo_dados, by.x = "CD_UF", by.y = "CO_UF")

3.2. Produção do mapa

Para produzir o mapa, basta utilizar o pacote tmap.

tm_shape(base_final) +                          
  tm_fill('P', palette = "#EDEDED", style = "kmeans") +
  tm_borders(col = "#FF4024") +
  tm_squares(col = "#FF4024", size = 2) + 
  tm_layout(legend.show = F) +
  tm_text("P", size = 0.8, root = 3, col = "white")