Checks that x is a data frame containing every name in columns, and that
all of those columns are of type. To validate several types, call again with
a different type and column set. Type names are matched as in
is.character(), is.numeric(), is.integer(), is.double(),
is.logical(), is.complex(), is.factor(), and is.list(); any other
name is matched against the column's class with inherits() (for example
"Date").
Usage
assert_column_types(
x,
type,
columns,
null_ok = FALSE,
arg = rlang::caller_arg(x),
call = rlang::caller_env()
)Arguments
- x
Object to check.
- type
Single string naming the type that every listed column must be.
- columns
Character vector of column names to check.
- null_ok
Single logical. If
TRUE, aNULLvalue passes the check without error. Use this for optional arguments that default toNULL. Defaults toFALSE, soNULLis rejected unless you opt in.- arg
Name used to refer to
xin error messages. Defaults to the name of the expression passed asx.- call
Environment used as the error's call context. Defaults to the calling function, so errors point at the user's code.
Examples
people <- data.frame(name = "Ada", height = 1.8, weight = 75.0)
assert_column_types(people, "numeric", c("height", "weight"))
