Checks if an argument is a data frame and (optionally) whether is contains a set of required variables
Arguments
- arg
A function argument to be checked
- required_vars
A list of variables created using
exprs()
- check_is_grouped
Throw an error is
dataset
is grouped? Defaults toTRUE
.- optional
Is the checked argument optional? If set to
FALSE
andarg
isNULL
then an error is thrown
Value
The function throws an error if arg
is not a data frame or if arg
is a data frame but misses any variable specified in required_vars
. Otherwise,
the input is returned invisibly.
See also
Checks for valid input and returns warning or errors messages:
assert_atomic_vector()
,
assert_character_scalar()
,
assert_character_vector()
,
assert_date_vector()
,
assert_expr_list()
,
assert_expr()
,
assert_filter_cond()
,
assert_function()
,
assert_integer_scalar()
,
assert_list_element()
,
assert_list_of()
,
assert_logical_scalar()
,
assert_named()
,
assert_numeric_vector()
,
assert_one_to_one()
,
assert_param_does_not_exist()
,
assert_s3_class()
,
assert_same_type()
,
assert_symbol()
,
assert_unit()
,
assert_vars()
,
assert_varval_list()
Examples
library(pharmaversesdtm)
library(dplyr, warn.conflicts = FALSE)
library(rlang)
data(dm)
example_fun <- function(dataset) {
assert_data_frame(dataset, required_vars = exprs(STUDYID, USUBJID))
}
example_fun(dm)
try(example_fun(select(dm, -STUDYID)))
#> Error in assert_data_frame(dataset, required_vars = exprs(STUDYID, USUBJID)) :
#> Required variable `STUDYID` is missing
try(example_fun("Not a dataset"))
#> Error in assert_data_frame(dataset, required_vars = exprs(STUDYID, USUBJID)) :
#> `dataset` must be a data frame but is `"Not a dataset"`