assertive.code (version 0.0-3)

assert_all_are_valid_variable_names: Is the string a valid variable name?

Description

Checks strings to see if they are valid variable names.

Usage

assert_all_are_valid_variable_names(x, allow_reserved = TRUE,
  allow_duplicates, na_ignore = FALSE,
  severity = getOption("assertive.severity", "stop"))

assert_any_are_valid_variable_names(x, allow_reserved = TRUE, allow_duplicates, na_ignore = FALSE, severity = getOption("assertive.severity", "stop"))

is_valid_variable_name(x, allow_reserved = TRUE, allow_duplicates)

Value

The assert_* functions return nothing but throw an error if the corresponding is_* function returns FALSE.

Arguments

x

Input to check.

allow_reserved

If TRUE then "..." and "..1", "..2", etc. are considered valid.

allow_duplicates

Deprecated and ignored.

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".

References

http://4dpiecharts.com/2011/07/04/testing-for-valid-variable-names/

See Also

Examples

Run this code
make_random_string <- function(n)
{
  paste0(sample(letters, n, replace = TRUE), collapse = "")
}
long <- c(make_random_string(10000), make_random_string(10001))
x <- c("x", "y_y0.Y", ".", "x y", "...", "..1", long)
unname(is_valid_variable_name(x))
unname(is_valid_variable_name(x, allow_reserved = FALSE))
#These examples should fail.
assertive.base::dont_stop(
  assert_all_are_valid_variable_names(c("...", "..1"), allow_reserved = FALSE)
)

Run the code above in your browser using DataLab