assert_unit {admiraldev} | R Documentation |
Asserts That a Parameter is Provided in the Expected Unit
Description
Checks if a parameter (PARAMCD
) in a dataset is provided in the expected
unit.
Usage
assert_unit(
dataset,
param,
required_unit = NULL,
get_unit_expr,
arg_name = rlang::caller_arg(required_unit),
message = NULL,
class = "assert_unit",
call = parent.frame()
)
Arguments
dataset |
Dataset to be checked The variable
|
param |
Parameter code of the parameter to check
|
required_unit |
Expected unit(s) If the argument is set to
|
get_unit_expr |
Expression used to provide the unit of
|
arg_name |
string indicating the label/symbol of the object being checked.
|
message |
string passed to
|
class |
Subclass of the condition. |
call |
The execution environment of a currently running
function, e.g. You only need to supply Can also be For more information about error calls, see Including function calls in error messages. |
Value
The function throws an error
if there is more than one non-missing unit in the dataset or
if the unit variable differs from the expected unit for any observation of the parameter in the input dataset.
Otherwise, the dataset 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_data_frame()
,
assert_date_vector()
,
assert_expr()
,
assert_expr_list()
,
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_vars()
,
assert_varval_list()
Examples
library(dplyr)
advs <- tribble(
~USUBJID, ~VSTESTCD, ~VSTRESN, ~VSSTRESU, ~PARAMCD, ~AVAL,
"P01", "WEIGHT", 80.1, "kg", "WEIGHT", 80.1,
"P02", "WEIGHT", 85.7, "kg", "WEIGHT", 85.7
)
assert_unit(advs, param = "WEIGHT", required_unit = "kg", get_unit_expr = VSSTRESU)
try(
assert_unit(
advs,
param = "WEIGHT",
required_unit = c("g", "mg"),
get_unit_expr = VSSTRESU
)
)
# Checking uniqueness of unit only
advs <- tribble(
~USUBJID, ~VSTESTCD, ~VSTRESN, ~VSSTRESU, ~PARAMCD, ~AVAL,
"P01", "WEIGHT", 80.1, "kg", "WEIGHT", 80.1,
"P02", "WEIGHT", 85700, "g", "WEIGHT", 85700
)
try(
assert_unit(advs, param = "WEIGHT", get_unit_expr = VSSTRESU)
)