Title: | Padronizador de Endereços Brasileiros (Brazilian Addresses Standardizer) |
Version: | 0.4.1 |
Description: | Padroniza endereços brasileiros a partir de diferentes critérios. Os métodos de padronização incluem apenas manipulações básicas de strings, não oferecendo suporte a correspondências probabilísticas entre strings. (Standardizes brazilian addresses using different criteria. Standardization methods include only basic string manipulation, not supporting probabilistic matches between strings.) |
License: | MIT + file LICENSE |
URL: | https://github.com/ipeaGIT/enderecobr, https://ipeagit.github.io/enderecobr/ |
BugReports: | https://github.com/ipeaGIT/enderecobr/issues |
Depends: | R (≥ 2.10) |
Imports: | checkmate, cli, data.table, rlang, stringi, stringr, tibble |
Suggests: | knitr, rmarkdown, testthat (≥ 3.0.0) |
VignetteBuilder: | knitr |
Config/testthat/edition: | 3 |
Encoding: | UTF-8 |
Language: | pt |
RoxygenNote: | 7.3.2 |
NeedsCompilation: | no |
Packaged: | 2025-02-18 13:13:24 UTC; R3422553 |
Author: | Daniel Herszenhut |
Maintainer: | Daniel Herszenhut <dhersz@gmail.com> |
Repository: | CRAN |
Date/Publication: | 2025-02-18 22:40:02 UTC |
enderecobr: Padronizador de Endereços Brasileiros (Brazilian Addresses Standardizer)
Description
Padroniza endereços brasileiros a partir de diferentes critérios. Os métodos de padronização incluem apenas manipulações básicas de strings, não oferecendo suporte a correspondências probabilísticas entre strings. (Standardizes brazilian addresses using different criteria. Standardization methods include only basic string manipulation, not supporting probabilistic matches between strings.)
Author(s)
Maintainer: Daniel Herszenhut dhersz@gmail.com (ORCID)
Authors:
See Also
Useful links:
Report bugs at https://github.com/ipeaGIT/enderecobr/issues
Códigos e nomes dos estados brasileiros (2022)
Description
Tabela com a relação entre os códigos e nomes dos estados brasileiros. Os códigos foram convertidos para caracteres; os nomes foram convertidos para caracteres ASCII em caixa alta.
Usage
codigos_estados
Format
Um data frame com 27 linhas e 3 colunas:
-
codigo_estado
- código do estado; -
nome_estado
- nome do estado; -
abrev_estado
- abreviação do nome do estado.
Source
https://www.ibge.gov.br/explica/codigos-dos-municipios.php
See Also
Códigos e nomes dos municípios brasileiros (2022)
Description
Tabela com a relação entre os códigos e nomes dos municípios brasileiros. Os códigos foram convertidos para caracteres; os nomes foram convertidos para caracteres ASCII em caixa alta.
Usage
codigos_municipios
Format
Um data frame com 5570 linhas e 3 colunas:
-
codigo_estado
- código do estado em que o município está localizado; -
codigo_muni
- código do município; -
nome_muni
- nome do município.
Source
https://www.ibge.gov.br/explica/codigos-dos-municipios.php
See Also
Correspondência entre os campos do endereço e as colunas que os descrevem
Description
Cria um vetor de caracteres que especifica as colunas que representam cada campo de endereço em um dataframe.
Usage
correspondencia_campos(
tipo_de_logradouro = NULL,
logradouro = NULL,
numero = NULL,
complemento = NULL,
cep = NULL,
bairro = NULL,
municipio = NULL,
estado = NULL
)
Arguments
tipo_de_logradouro , logradouro , numero , complemento , cep , bairro , municipio , estado |
Uma string. O nome da coluna que representa o respectivo campo de endereço
no dataframe. Pode ser |
Value
Um vetor nomeado de caracteres, em que os nomes representam os campos do endereço e os valores as colunas que os descrevem no dataframe.
Examples
enderecos <- data.frame(
id = 1,
tipo = "r",
log = "ns sra da piedade",
nroLogradouro = 20,
compl = "qd 20",
cep = 25220020,
bairro = "jd botanico",
codmun_dom = 3304557,
uf_dom = "rj"
)
# dado o dataframe acima, a seguinte chamada cria a correspondencia entre
# suas colunas e os campos
correspondencia_campos(
tipo_de_logradouro = "tipo",
logradouro = "log",
numero = "nroLogradouro",
complemento = "compl",
cep = "cep",
bairro = "bairro",
municipio = "codmun_dom",
estado = "uf_dom"
)
Correspondência entre os campos do logradouro completo e as colunas que os descrevem
Description
Cria um vetor de caracteres que especifica as colunas que representam os campos de logradouro (tipo, nome e número) em um dataframe de endereços.
Usage
correspondencia_logradouro(
tipo_de_logradouro = NULL,
nome_do_logradouro = NULL,
numero = NULL
)
Arguments
tipo_de_logradouro , nome_do_logradouro , numero |
Uma string. O nome da
coluna que representa o respectivo campo do logradouro no dataframe. Pode
ser |
Value
Um vetor nomeado de caracteres, em que os nomes representam os campos do logradouro e os valores as colunas que os descrevem no dataframe.
Examples
enderecos <- data.frame(
tipo = "r",
log = "ns sra da piedade",
nroLogradouro = 20
)
# dado o dataframe acima, a seguinte chamada cria a correspondencia entre
# suas colunas e os campos
correspondencia_logradouro(
tipo_de_logradouro = "tipo",
nome_do_logradouro = "log",
numero = "nroLogradouro"
)
Padronizar bairros
Description
Padroniza um vetor de caracteres representando bairros de municípios brasileiros. Veja a seção Detalhes para mais informações sobre a padronização.
Usage
padronizar_bairros(bairros)
Arguments
bairros |
Um vetor de caracteres. Os bairros a serem padronizados. |
Value
Um vetor de caracteres com os bairros padronizados.
Detalhes
Operações realizadas durante a padronização:
remoção de espaços em branco antes e depois das strings e remoção de espaços em excesso entre palavras;
conversão de caracteres para caixa alta;
remoção de acentos e caracteres não ASCII;
adição de espaços após abreviações sinalizadas por pontos;
expansão de abreviações frequentemente utilizadas através de diversas expressões regulares (regexes);
correção de alguns pequenos erros ortográficos.
Examples
bairros <- c("PRQ IND", "NSA SEN DE FATIMA", "ILHA DO GOV")
padronizar_bairros(bairros)
Padronizar CEPs
Description
Padroniza um vetor de caracteres ou números representando CEPs. Veja a seção Detalhes para mais informações sobre a padronização.
Usage
padronizar_ceps(ceps)
Arguments
ceps |
Um vetor de caracteres ou números. Os CEPs a serem padronizados. |
Value
Um vetor de caracteres com os CEPs padronizados.
Detalhes
Operações realizadas durante a padronização:
conversão para caracter, se o input for numérico;
adição de zeros à esquerda, se o input contiver menos de 8 dígitos;
remoção de espaços em branco, pontos e vírgulas;
adição de traço separando o radical (5 primeiros dígitos) do sufixo (3 últimos digitos).
Examples
ceps <- c("22290-140", "22.290-140", "22290 140", "22290140")
padronizar_ceps(ceps)
ceps <- c(22290140, 1000000, NA)
padronizar_ceps(ceps)
Padronizar complementos
Description
Padroniza um vetor de caracteres representando complementos de logradouros. Veja a seção Detalhes para mais informações sobre a padronização.
Usage
padronizar_complementos(complementos)
Arguments
complementos |
Um vetor de caracteres. Os complementos a serem padronizados. |
Value
Um vetor de caracteres com os complementos padronizados.
Detalhes
Operações realizadas durante a padronização:
remoção de espaços em branco antes e depois das strings e remoção de espaços em excesso entre palavras;
conversão de caracteres para caixa alta;
remoção de acentos e caracteres não ASCII;
adição de espaços após abreviações sinalizadas por pontos;
expansão de abreviações frequentemente utilizadas através de diversas expressões regulares (regexes);
correção de alguns pequenos erros ortográficos.
Examples
complementos <- c("", "QD1 LT2 CS3", "APTO. 405")
padronizar_complementos(complementos)
Padronizar endereços
Description
Padroniza simultaneamente os diversos campos de um endereço listados em um dataframe.
Usage
padronizar_enderecos(
enderecos,
campos_do_endereco = correspondencia_campos(),
formato_estados = "por_extenso",
formato_numeros = "character",
manter_cols_extras = TRUE,
combinar_logradouro = FALSE,
checar_tipos = FALSE
)
Arguments
enderecos |
Um dataframe. Os endereços a serem padronizados. Cada uma de suas colunas deve corresponder a um campo do endereço (e.g. logradouro, cidade, bairro, etc). |
campos_do_endereco |
Um vetor nomeado de caracteres. A correspondência
entre os campos a serem padronizados (nomes do vetor) e as colunas que os
representam no dataframe (valores em si). A função
|
formato_estados |
Uma string. Como o estado padronizado deve ser
formatado. Por padrão, |
formato_numeros |
Uma string. Como o número padronizado deve ser
formatado. Por padrão, |
manter_cols_extras |
Um logical. Se colunas não especificadas em
|
combinar_logradouro |
Um logical. Se os campos que descrevem o
logradouro (tipo, nome e número, por exemplo) devem ser combinados em um
único campo de logradouro completo. Nesse caso, o parâmetro |
checar_tipos |
Um logical. Apenas tem efeito quando
|
Value
Um dataframe com colunas adicionais, representando os campos de endereço padronizados.
Examples
enderecos <- data.frame(
id = 1,
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)
padronizar_enderecos(enderecos, campos, manter_cols_extras = FALSE)
padronizar_enderecos(enderecos, campos, combinar_logradouro = TRUE)
ends_tipo_duplicado <- data.frame(tipo = "r", nome = "r ns sra da piedade")
padronizar_enderecos(
ends_tipo_duplicado,
campos_do_endereco = correspondencia_campos(
tipo_de_logradouro = "tipo",
logradouro = "nome"
),
combinar_logradouro = TRUE,
checar_tipos = TRUE
)
Padronizar estados
Description
Padroniza um vetor de caracteres ou números representando estados brasileiros. Veja a seção Detalhes para mais informações sobre a padronização.
Usage
padronizar_estados(estados, formato = "por_extenso")
Arguments
estados |
Um vetor de caracteres ou números. Os estados a serem padronizados. |
formato |
Uma string. Como o resultado padronizado deve ser formatado.
Por padrão, |
Value
Um vetor de caracteres com os estados padronizados.
Detalhes
Operações realizadas durante a padronização:
conversão para caracter, se o input for numérico;
remoção de espaços em branco antes e depois dos valores e remoção de espaços em excesso entre palavras;
conversão de caracteres para caixa alta;
remoção de zeros à esquerda;
busca, a partir do código numérico ou da abreviação da UF, do nome completo de cada estado;
caso a busca não tenha encontrado determinado valor, remoção de acentos e caracteres não ASCII.
Examples
estados <- c("21", "021", "MA", " 21", " MA ", "ma", "", NA)
padronizar_estados(estados)
estados <- c(21, NA)
padronizar_estados(estados)
padronizar_estados(estados, formato = "sigla")
Padronizar logradouros
Description
Padroniza um vetor de caracteres representando logradouros de municípios brasileiros. Veja a seção Detalhes para mais informações sobre a padronização.
Usage
padronizar_logradouros(logradouros)
Arguments
logradouros |
Um vetor de caracteres. Os logradouros a serem padronizados. |
Value
Um vetor de caracteres com os logradouros padronizados.
Detalhes
Operações realizadas durante a padronização:
remoção de espaços em branco antes e depois das strings e remoção de espaços em excesso entre palavras;
conversão de caracteres para caixa alta;
remoção de acentos e caracteres não ASCII;
adição de espaços após abreviações sinalizadas por pontos;
expansão de abreviações frequentemente utilizadas através de diversas expressões regulares (regexes);
correção de alguns pequenos erros ortográficos.
Examples
logradouros <- c("r. gen.. glicério")
padronizar_logradouros(logradouros)
Padronizar logradouros completos
Description
Padroniza o logradouro completo a partir de diversos campos (tipo de logradouro, nome do logradouro e número), garantindo a consistência da informação.
Usage
padronizar_logradouros_completos(
enderecos,
campos_do_logradouro = correspondencia_logradouro(),
manter_cols_extras = TRUE,
checar_tipos = FALSE
)
Arguments
enderecos |
Um dataframe. Os endereços a serem padronizados. Ao menos uma de suas colunas deve corresponder a um campo do logradouro. |
campos_do_logradouro |
Um vetor nomeado de caracteres. A correspondência
entre os campos a serem padronizados (nomes do vetor) e as colunas que os
representam no dataframe (valores do vetor). A função
|
manter_cols_extras |
Um logical. Se colunas não especificadas em
|
checar_tipos |
Um logical. Se a ocorrência de duplicatas entre os tipos
e nomes dos logradouros deve ser verificada ao combiná-los (por exemplo,
quando o tipo é descrito como "RUA" e o nome é descrito como "RUA
BOTAFOGO"). Por padrão, |
Value
Caso manter_cols_extras
seja TRUE
, o mesmo dataframe de input,
mas sem as colunas descrevendo o logradouro e com uma coluna padronizada
adicional logradouro_completo
. Caso manter_cols_extras
seja FALSE
, um
dataframe de apenas uma coluna, logradouro_completo
.
Examples
enderecos <- data.frame(
id = 1,
tipoLogradouro = "r",
logradouro = "ns sra da piedade",
nroLogradouro = 20,
complemento = "qd 20",
cep = 25220020,
bairro = "jd botanico",
codmun_dom = 3304557,
uf_dom = "rj"
)
campos <- correspondencia_logradouro(
tipo_de_logradouro = "tipoLogradouro",
nome_do_logradouro = "logradouro",
numero = "nroLogradouro"
)
padronizar_logradouros_completos(enderecos, campos)
padronizar_logradouros_completos(
enderecos,
campos,
manter_cols_extras = FALSE
)
enderecos <- data.frame(
tipoLogradouro = "r",
logradouro = "r ns sra da piedade",
nroLogradouro = 20
)
padronizar_logradouros_completos(enderecos, campos, checar_tipos = TRUE)
Padronizar municípios
Description
Padroniza um vetor de caracteres ou números representando municípios brasileiros. Veja a seção Detalhes para mais informações sobre a padronização.
Usage
padronizar_municipios(municipios)
Arguments
municipios |
Um vetor de caracteres ou números. Os municípios a serem padronizados. |
Value
Um vetor de caracteres com os municípios padronizados.
Detalhes
Operações realizadas durante a padronização:
conversão para caracter, se o input for numérico;
remoção de espaços em branco antes e depois dos valores e remoção de espaços em excesso entre palavras;
conversão de caracteres para caixa alta;
remoção de zeros à esquerda;
busca, a partir do código numérico, do nome completo de cada município;
caso a busca não tenha encontrado determinado valor, remoção de acentos e caracteres não ASCII, correção de erros ortográficos frequentes e atualização de nomes conforme listagem de municípios do IBGE de 2022.
Examples
municipios <- c(
"3304557", "003304557", " 3304557 ", "RIO DE JANEIRO", "rio de janeiro",
"SÃO PAULO",
"", NA
)
padronizar_municipios(municipios)
municipios <- c(3304557, NA)
padronizar_municipios(municipios)
municipios <- c("PARATI", "AUGUSTO SEVERO", "SAO VALERIO DA NATIVIDADE")
padronizar_municipios(municipios)
Padronizar números de logradouros
Description
Padroniza um vetor de caracteres ou números representando números de logradouros. Veja a seção Detalhes para mais informações sobre a padronização.
Usage
padronizar_numeros(numeros, formato = "character")
Arguments
numeros |
Um vetor de caracteres ou números. Os números de logradouro a serem padronizados. |
formato |
Uma string. Como o resultado padronizado deve ser formatado.
Por padrão, |
Value
Um vetor de caracteres com os números de logradouros padronizados.
Detalhes
Operações realizadas durante a padronização:
conversão para caracter, se o input for numérico;
remoção de espaços em branco antes e depois dos números e de espaços em branco em excesso entre números;
remoção de zeros à esquerda;
substituição de números vazios e de variações de SN (SN, S N, S.N., S./N., etc) por S/N.
Examples
numeros <- c("0210", "001", "1", "", "S N", "S/N", "SN", "0180 0181")
padronizar_numeros(numeros)
numeros <- c(210, 1, 10000, NA)
padronizar_numeros(numeros)
Padronizar tipos de logradouro
Description
Padroniza um vetor de caracteres representando tipos de logradouro. Veja a seção Detalhes para mais informações sobre a padronização.
Usage
padronizar_tipos_de_logradouro(tipos)
Arguments
tipos |
Um vetor de caracteres. Os tipos de logradouro a serem padronizados. |
Value
Um vetor de caracteres com os tipos de logradouro padronizados.
Detalhes
Operações realizadas durante a padronização:
remoção de espaços em branco antes e depois das strings e remoção de espaços em excesso entre palavras;
conversão de caracteres para caixa alta;
remoção de acentos e caracteres não ASCII;
adição de espaços após abreviações sinalizadas por pontos;
expansão de abreviações frequentemente utilizadas através de diversas expressões regulares (regexes);
correção de alguns pequenos erros ortográficos.
Examples
tipos <- c("R", "AVE", "QDRA")
padronizar_tipos_de_logradouro(tipos)