Learn R Programming

enderecobr

enderecobr é um pacote de R que permite padronizar endereços brasileiros a partir de diferentes critérios. Os métodos de padronização atualmente incluem apenas manipulações de strings, não oferecendo suporte a correspondências probabilísticas entre strings.

Instalação

A última versão estável pode ser baixada do CRAN com o comando a seguir:

install.packages("enderecobr")

Caso prefira, a versão em desenvolvimento também pode ser usada. Para isso, use o seguinte comando:

# install.packages("remotes")
remotes::install_github("ipeaGIT/enderecobr")

Utilização

Esta seção visa oferecer apenas uma visão geral das funcionalidades do pacote. Para mais detalhes, leia a vignette introdutória:

O enderecobr disponibiliza funções para padronizar diferentes campos de um endereço. A padronizar_enderecos(), carro-chefe do pacote, atua de forma simultânea sobre os vários campos que podem compor um endereço. Para isso, ela recebe um dataframe e a correspondência entre suas colunas e os campos a serem padronizados:

library(enderecobr)

enderecos <- data.frame(
  logradouro = "r ns sra da piedade",
  nroLogradouro = 20,
  complemento = "qd 20",
  cep = 25220020,
  bairro = "jd botanico",
  codmun_dom = 3304557,
  uf_dom = "rj"
)

campos <- correspondencia_campos(
  logradouro = "logradouro",
  numero = "nroLogradouro",
  complemento = "complemento",
  cep = "cep",
  bairro = "bairro",
  municipio = "codmun_dom",
  estado = "uf_dom"
)

padronizar_enderecos(enderecos, campos_do_endereco = campos)
#>             logradouro nroLogradouro complemento      cep      bairro
#>                 <char>         <num>      <char>    <num>      <char>
#> 1: r ns sra da piedade            20       qd 20 25220020 jd botanico
#>    codmun_dom uf_dom              logradouro_padr numero_padr complemento_padr
#>         <num> <char>                       <char>      <char>           <char>
#> 1:    3304557     rj RUA NOSSA SENHORA DA PIEDADE          20        QUADRA 20
#>     cep_padr     bairro_padr municipio_padr    estado_padr
#>       <char>          <char>         <char>         <char>
#> 1: 25220-020 JARDIM BOTANICO RIO DE JANEIRO RIO DE JANEIRO

Por trás dos panos, essa função utiliza diversas outras funções que padronizam campos de forma individual. Cada uma delas recebe um vetor com valores não padronizados e retorna um vetor de mesmo tamanho com os respectivos valores padronizados. Algumas das funções disponíveis são apresentadas a seguir:

estados <- c("21", " 21", "MA", " MA ", "ma", "MARANHÃO")
padronizar_estados(estados)
#> [1] "MARANHAO" "MARANHAO" "MARANHAO" "MARANHAO" "MARANHAO" "MARANHAO"

municipios <- c(
  "3304557", "003304557", " 3304557 ", "RIO DE JANEIRO", "rio de janeiro",
  "SÃO PAULO"
)
padronizar_municipios(municipios)
#> [1] "RIO DE JANEIRO" "RIO DE JANEIRO" "RIO DE JANEIRO" "RIO DE JANEIRO"
#> [5] "RIO DE JANEIRO" "SAO PAULO"

bairros <- c(
  "PRQ IND",
  "NSA SEN DE FATIMA",
  "ILHA DO GOV",
  "VL OLIMPICA",
  "NUC RES"
)
padronizar_bairros(bairros)
#> [1] "PARQUE INDUSTRIAL"       "NOSSA SENHORA DE FATIMA"
#> [3] "ILHA DO GOVERNADOR"      "VILA OLIMPICA"          
#> [5] "NUCLEO RESIDENCIAL"

ceps <- c("22290-140", "22.290-140", "22290 140", "22290140")
padronizar_ceps(ceps)
#> [1] "22290-140" "22290-140" "22290-140" "22290-140"

logradouros <- c(
  "r. gen.. glicério, 137",
  "cond pres j. k., qd 05 lt 02 1",
  "av d pedro I, 020"
)
padronizar_logradouros(logradouros)
#> [1] "RUA GENERAL GLICERIO, 137"                                    
#> [2] "CONDOMINIO PRESIDENTE JUSCELINO KUBITSCHEK, QUADRA 5 LOTE 2 1"
#> [3] "AVENIDA DOM PEDRO I, 20"

numeros <- c("0210", "001", "1", "", "S N", "S/N", "SN", "0180  0181")
padronizar_numeros(numeros)
#> [1] "210"     "1"       "1"       "S/N"     "S/N"     "S/N"     "S/N"    
#> [8] "180 181"

Controle de verbosidade

O disparo de mensagens com informações sobre a execução das funções pode ser controlado pela opção enderecobr.verbose, que recebe os valores "quiet" ou "verbose", como demonstrado a seguir:

campos <- correspondencia_logradouro(
  nome_do_logradouro = "logradouro",
  numero = "nroLogradouro"
)

# quieto, por padrão
res <- padronizar_logradouros_completos(enderecos, campos)

# verboso, se desejado
rlang::local_options("enderecobr.verbose" = "verbose")
res <- padronizar_logradouros_completos(enderecos, campos)
#> ✔ Padronizando nomes dos logradouros... [130ms]
#> ✔ Padronizando números... [111ms]
#> ✔ Trazendo números para o logradouro completo... [107ms]

Nota

enderecobr é desenvolvido por uma equipe de pesquisadores do Instituto de Pesquisa Econômica Aplicada (Ipea).

Copy Link

Version

Install

install.packages('enderecobr')

Monthly Downloads

7,321

Version

0.5.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Daniel Herszenhut

Last Published

January 10th, 2026

Functions in enderecobr (0.5.0)

correspondencia_campos

Correspondência entre os campos do endereço e as colunas que os descrevem
enderecobr

enderecobr: Padronizador de Endereços Brasileiros (Brazilian Addresses Standardizer)
correspondencia_logradouro

Correspondência entre os campos do logradouro completo e as colunas que os descrevem
padronizar_ceps

Padronizar CEPs
padronizar_bairros

Padronizar bairros
padronizar_estados

Padronizar estados
codigos_estados

Códigos e nomes dos estados brasileiros (2022)
codigos_municipios

Códigos e nomes dos municípios brasileiros (2022)
padronizar_complementos

Padronizar complementos
padronizar_enderecos

Padronizar endereços
padronizar_logradouros

Padronizar logradouros
padronizar_municipios

Padronizar municípios
padronizar_numeros

Padronizar números de logradouros
padronizar_tipos_de_logradouro

Padronizar tipos de logradouro
padronizar_logradouros_completos

Padronizar logradouros completos