assertive.data.us (version 0.0-2)

assert_all_are_us_zip_codes: Is the string a valid US zip code?

Description

Checks that the input contains US zip codes.

Usage

assert_all_are_us_zip_codes(x, na_ignore = FALSE,
  severity = getOption("assertive.severity", "stop"))

assert_any_are_us_zip_codes(x, na_ignore = FALSE, severity = getOption("assertive.severity", "stop"))

is_us_zip_code(x)

Arguments

x

Input to check.

na_ignore

A logical value. If FALSE, NA values cause an error; otherwise they do not. Like na.rm in many stats package functions, except that the position of the failing values does not change.

severity

How severe should the consequences of the assertion be? Either "stop", "warning", "message", or "none".

Value

is_us_zip_code returns TRUE if the input string contains a valid US zip code. The assert_* functions return nothing but throw an error when the is_* function returns FALSE.

References

Regexes inferred from https://en.wikipedia.org/wiki/ZIP_code and https://en.wikipedia.org/wiki/List_of_ZIP_code_prefixes.

Examples

Run this code
# NOT RUN {
zip_codes <- c(
  "Beverley Hills"  = "90210", 
  "The White House" = "20500", 
  USPTO             = "22313-1450",  #5+4 style ok
  "No hyphen"       = "223131450",
  "Bad area prefix" = "09901",    
  Missing           = NA
 )
is_us_zip_code(zip_codes)
assert_any_are_us_zip_codes(zip_codes)
#The following code should throw an error.
assertive.base::dont_stop(assert_all_are_us_zip_codes(zip_codes))
# }

Run the code above in your browser using DataLab