Skip to contents

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 addrs in a reference set of addrs 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]