addr vectors in R
The addr
package provides the addr
R
object, which stores standardized address tags, but acts like a usual
vector in R:
addr(c("3333 Burnet Ave Cincinnati OH 45229", "202 Riva Ridge Ct Cincinnati OH 45140"))
#> 3333 Burnet Avenue Cincinnati OH 45229 202 Riva Ridge Court Cincinnati OH 45140
Under the hood, an addr
vector keeps a record of the
tagged and standardized address components so that they can be used with
other functions. To inspect or use them directly:
addr(c("3333 Burnet Ave Cincinnati OH 45229", "202 Riva Ridge Ct Cincinnati OH 45140")) |>
as.data.frame()
#> street_number street_name street_type city state zip_code
#> 1 3333 burnet avenue cincinnati oh 45229
#> 2 202 riva ridge court cincinnati oh 45140
or
addr(c("3333 Burnet Ave Cincinnati OH 45229", "202 Riva Ridge Ct Cincinnati OH 45140")) |>
as.character()
#> [1] "3333 Burnet Avenue Cincinnati OH 45229"
#> [2] "202 Riva Ridge Court Cincinnati OH 45140"
addr matching
List all of the potentially matching addr
s in a
reference set of addr
s with addr_match()
. The
code below matches input addresses to the reference set of all addresses
in Hamilton County, OH included in the package:
addr(c("3333 Burnet Ave Cincinnati OH 45229",
"5130 RAPID RUN RD CINCINNATI OHIO 45238",
"5131 RAPID RUN RD CINCINNATI OHIO 45238"
)) |>
addr_match(cagis_addr()$cagis_addr)
#> $`3333 Burnet Avenue Cincinnati OH 45229`
#> 3333 Burnet Avenue Cincinnati OH 45229
#>
#> $`5130 Rapid Run Road Cincinnati OHIO 45238`
#> 5130 Rapid Run Road Delhi Township OH 45238
#>
#> $`5131 Rapid Run Road Cincinnati OHIO 45238`
#>
Use the matched addr vector to merge in address-specific data in the
included cagis_addr
object.
addr(c("3333 Burnet Ave Cincinnati OH 45229", "5130 RAPID RUN RD CINCINNATI OHIO 45238")) |>
addr_match(cagis_addr()$cagis_addr, simplify = TRUE) |>
tibble::enframe(name = "input_addr", value = "ca") |>
dplyr::left_join(cagis_addr(), by = c("ca" = "cagis_addr"))
#> # A tibble: 2 × 3
#> input_addr ca cagis_addr_data
#> <int> <addr> <list<tibble[,6]>>
#> 1 1 3333 Burnet Avenue Cincinnati OH 45229 [1 × 6]
#> 2 2 5130 Rapid Run Road Delhi Township OH 45238 [1 × 6]