Create or use a named vector (c("full" = "abb")
) and pass it to
stringr::str_replace_all()
. The full
argument is surrounded with \\b
to
capture only isolated intended full versions. Note that the built-in
usps_street, usps_city, and usps_state dataframes have the columns
reversed from what this function needs (to work by default with the
counterpart expand_abbrev()
).
abbrev_full(x, full = NULL, rep = NULL, end = FALSE)
A vector containing full words.
One of three objects: (1) A dataframe with full strings in the
first column and corresponding abbreviations in the second
column; (2) a named vector, with full strings as names for their
respective abbreviations (e.g., c("full" = "abb")
); or (3) an unnamed
vector of full words with an unnamed vector of abbreviations in the rep
argument.
If full
is an unnamed vector, a vector of abbreviations strings
for each full word in abb
.
logical; if TRUE
, then the $
regular expression will be used
to only replace words at the end of a string (such as "ROAD" in a street
address). If FALSE
(default), then the \b
regular expression will
target all instances of full
to be replaced with rep
.
The vector x
with full words replaced with their abbreviations.
Other geographic normalization functions:
abbrev_state()
,
check_city()
,
expand_abbrev()
,
expand_state()
,
fetch_city()
,
normal_address()
,
normal_city()
,
normal_state()
,
normal_zip()
,
str_normal()
abbrev_full("MOUNT VERNON", full = c("MOUNT" = "MT"))
#> [1] "MT VERNON"
abbrev_full("123 MOUNTAIN ROAD", full = usps_street)
#> [1] "123 MTN RD"
abbrev_full("123 MOUNTAIN ROAD", full = usps_street, end = TRUE)
#> [1] "123 MOUNTAIN RD"
abbrev_full("Vermont", full = state.name, rep = state.abb)
#> [1] "VT"