An open API service indexing awesome lists of open source software.

https://github.com/ipeagit/enderecobr

Pacote de R para padronizar endereços brasileiros
https://github.com/ipeagit/enderecobr

Last synced: about 1 year ago
JSON representation

Pacote de R para padronizar endereços brasileiros

Awesome Lists containing this project

README

          

---
output: github_document
---

```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-"
)
```

# enderecobr

[![CRAN
status](https://www.r-pkg.org/badges/version/enderecobr)](https://CRAN.R-project.org/package=enderecobr)
[![B
status](https://github.com/ipeaGIT/enderecobr/workflows/check/badge.svg)](https://github.com/ipeaGIT/enderecobr/actions?query=workflow%3Acheck)
[![CRAN/METACRAN Total
downloads](https://cranlogs.r-pkg.org/badges/grand-total/enderecobr?color=blue)](https://CRAN.R-project.org/package=enderecobr)
[![Codecov test
coverage](https://codecov.io/gh/ipeaGIT/enderecobr/branch/main/graph/badge.svg)](https://app.codecov.io/gh/ipeaGIT/enderecobr?branch=main)
[![Lifecycle:
stable](https://lifecycle.r-lib.org/articles/figures/lifecycle-stable.svg)](https://lifecycle.r-lib.org/articles/stages.html)

**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:

```r
install.packages("enderecobr")
```

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

```r
# 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:

- [**enderecobr**: padronizador de endereços
brasileiros](https://ipeagit.github.io/enderecobr/articles/enderecobr.html)

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:

```{r}
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)
```

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:

```{r}
estados <- c("21", " 21", "MA", " MA ", "ma", "MARANHÃO")
padronizar_estados(estados)

municipios <- c(
"3304557", "003304557", " 3304557 ", "RIO DE JANEIRO", "rio de janeiro",
"SÃO PAULO"
)
padronizar_municipios(municipios)

bairros <- c(
"PRQ IND",
"NSA SEN DE FATIMA",
"ILHA DO GOV",
"VL OLIMPICA",
"NUC RES"
)
padronizar_bairros(bairros)

ceps <- c("22290-140", "22.290-140", "22290 140", "22290140")
padronizar_ceps(ceps)

logradouros <- c(
"r. gen.. glicério, 137",
"cond pres j. k., qd 05 lt 02 1",
"av d pedro I, 020"
)
padronizar_logradouros(logradouros)

numeros <- c("0210", "001", "1", "", "S N", "S/N", "SN", "0180 0181")
padronizar_numeros(numeros)
```

## 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:

```r
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 Ipea

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