Title: | 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.) |
Authors: | Daniel Herszenhut [aut, cre] |
Maintainer: | Daniel Herszenhut <[email protected]> |
License: | MIT + file LICENSE |
Version: | 0.1.0.9000 |
Built: | 2024-10-24 14:15:47 UTC |
Source: | https://github.com/ipeagit/enderecopadrao |
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.
codigos_estados
codigos_estados
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.
https://www.ibge.gov.br/explica/codigos-dos-municipios.php
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.
codigos_municipios
codigos_municipios
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.
https://www.ibge.gov.br/explica/codigos-dos-municipios.php
Cria um vetor de caracteres que especifica as colunas que representam cada campo de endereço em um dataframe.
correspondencia_campos( tipo_de_logradouro = NULL, logradouro = NULL, numero = NULL, complemento = NULL, cep = NULL, bairro = NULL, municipio = NULL, estado = NULL )
correspondencia_campos( tipo_de_logradouro = NULL, logradouro = NULL, numero = NULL, complemento = NULL, cep = NULL, bairro = NULL, municipio = NULL, estado = NULL )
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 |
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.
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" )
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" )
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.
correspondencia_logradouro( tipo_de_logradouro = NULL, nome_do_logradouro = NULL, numero = NULL )
correspondencia_logradouro( tipo_de_logradouro = NULL, nome_do_logradouro = NULL, numero = NULL )
tipo_de_logradouro , nome_do_logradouro , numero
|
Uma string. O nome da
coluna que representa o respectivo campo do logradouro no dataframe. Pode
ser |
Um vetor nomeado de caracteres, em que os nomes representam os campos do logradouro e os valores as colunas que os descrevem no dataframe.
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" )
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" )
Padroniza um vetor de caracteres representando bairros de municípios brasileiros. Veja a seção Detalhes para mais informações sobre a padronização.
padronizar_bairros(bairros)
padronizar_bairros(bairros)
bairros |
Um vetor de caracteres. Os bairros a serem padronizados. |
Um vetor de caracteres com os bairros padronizados.
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.
bairros <- c("PRQ IND", "NSA SEN DE FATIMA", "ILHA DO GOV") padronizar_bairros(bairros)
bairros <- c("PRQ IND", "NSA SEN DE FATIMA", "ILHA DO GOV") padronizar_bairros(bairros)
Padroniza um vetor de caracteres ou números representando CEPs. Veja a seção Detalhes para mais informações sobre a padronização.
padronizar_ceps(ceps)
padronizar_ceps(ceps)
ceps |
Um vetor de caracteres ou números. Os CEPs a serem padronizados. |
Um vetor de caracteres com os CEPs padronizados.
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).
ceps <- c("22290-140", "22.290-140", "22290 140", "22290140") padronizar_ceps(ceps) ceps <- c(22290140, 1000000, NA) padronizar_ceps(ceps)
ceps <- c("22290-140", "22.290-140", "22290 140", "22290140") padronizar_ceps(ceps) ceps <- c(22290140, 1000000, NA) padronizar_ceps(ceps)
Padroniza um vetor de caracteres representando complementos de logradouros. Veja a seção Detalhes para mais informações sobre a padronização.
padronizar_complementos(complementos)
padronizar_complementos(complementos)
complementos |
Um vetor de caracteres. Os complementos a serem padronizados. |
Um vetor de caracteres com os complementos padronizados.
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.
complementos <- c("", "QD1 LT2 CS3", "APTO. 405") padronizar_complementos(complementos)
complementos <- c("", "QD1 LT2 CS3", "APTO. 405") padronizar_complementos(complementos)
Padroniza simultaneamente os diversos campos de um endereço listados em um dataframe.
padronizar_enderecos( enderecos, campos_do_endereco = correspondencia_campos(), manter_cols_extras = TRUE, combinar_logradouro = FALSE, checar_tipos = FALSE )
padronizar_enderecos( enderecos, campos_do_endereco = correspondencia_campos(), manter_cols_extras = TRUE, combinar_logradouro = FALSE, checar_tipos = FALSE )
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
|
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
|
Um dataframe com colunas adicionais, representando os campos de endereço padronizados.
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 )
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 )
Padroniza um vetor de caracteres ou números representando estados brasileiros. Veja a seção Detalhes para mais informações sobre a padronização.
padronizar_estados(estados)
padronizar_estados(estados)
estados |
Um vetor de caracteres ou números. Os estados a serem padronizados. |
Um vetor de caracteres com os estados padronizados.
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.
estados <- c("21", "021", "MA", " 21", " MA ", "ma", "", NA) padronizar_estados(estados) estados <- c(21, NA) padronizar_estados(estados)
estados <- c("21", "021", "MA", " 21", " MA ", "ma", "", NA) padronizar_estados(estados) estados <- c(21, NA) padronizar_estados(estados)
Padroniza um vetor de caracteres representando logradouros de municípios brasileiros. Veja a seção Detalhes para mais informações sobre a padronização.
padronizar_logradouros(logradouros)
padronizar_logradouros(logradouros)
logradouros |
Um vetor de caracteres. Os logradouros a serem padronizados. |
Um vetor de caracteres com os logradouros padronizados.
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.
logradouros <- c("r. gen.. glicério") padronizar_logradouros(logradouros)
logradouros <- c("r. gen.. glicério") padronizar_logradouros(logradouros)
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.
padronizar_logradouros_completos( enderecos, campos_do_logradouro = correspondencia_logradouro(), manter_cols_extras = TRUE, checar_tipos = FALSE )
padronizar_logradouros_completos( enderecos, campos_do_logradouro = correspondencia_logradouro(), manter_cols_extras = TRUE, checar_tipos = FALSE )
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, |
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
.
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)
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)
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.
padronizar_municipios(municipios)
padronizar_municipios(municipios)
municipios |
Um vetor de caracteres ou números. Os municípios a serem padronizados. |
Um vetor de caracteres com os municípios padronizados.
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.
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)
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)
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.
padronizar_numeros(numeros)
padronizar_numeros(numeros)
numeros |
Um vetor de caracteres ou números. Os números de logradouro a serem padronizados. |
Um vetor de caracteres com os números de logradouros padronizados.
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.
numeros <- c("0210", "001", "1", "", "S N", "S/N", "SN", "0180 0181") padronizar_numeros(numeros) numeros <- c(210, 1, 10000, NA) padronizar_numeros(numeros)
numeros <- c("0210", "001", "1", "", "S N", "S/N", "SN", "0180 0181") padronizar_numeros(numeros) numeros <- c(210, 1, 10000, NA) padronizar_numeros(numeros)
Padroniza um vetor de caracteres representando tipos de logradouro. Veja a seção Detalhes para mais informações sobre a padronização.
padronizar_tipos_de_logradouro(tipos)
padronizar_tipos_de_logradouro(tipos)
tipos |
Um vetor de caracteres. Os tipos de logradouro a serem padronizados. |
Um vetor de caracteres com os tipos de logradouro padronizados.
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.
tipos <- c("R", "AVE", "QDRA") padronizar_tipos_de_logradouro(tipos)
tipos <- c("R", "AVE", "QDRA") padronizar_tipos_de_logradouro(tipos)