Checks if a variable in a dataset is a date or datetime variable
Arguments
- dataset
The dataset where the variable is expected
- var
The variable to check
- dataset_name
The name of the dataset. If the argument is specified, the specified name is displayed in the error message.
- var_name
The name of the variable. If the argument is specified, the specified name is displayed in the error message.
Value
The function throws an error if var
is not a date or datetime variable in
dataset
and returns the input invisibly otherwise.
Examples
library(tibble)
library(lubridate)
#>
#> Attaching package: ‘lubridate’
#> The following objects are masked from ‘package:base’:
#>
#> date, intersect, setdiff, union
library(rlang)
example_fun <- function(dataset, var) {
var <- assert_symbol(enexpr(var))
assert_date_var(dataset = dataset, var = !!var)
}
my_data <- tribble(
~USUBJID, ~ADT,
"1", ymd("2020-12-06"),
"2", ymd("")
)
example_fun(
dataset = my_data,
var = ADT
)
try(example_fun(
dataset = my_data,
var = USUBJID
))
#> Error in assert_date_var(dataset = dataset, var = !!var) :
#> `USUBJID` in dataset `dataset` is not a date or datetime variable but is a character vector
example_fun2 <- function(dataset, var) {
var <- assert_symbol(enexpr(var))
assert_date_var(
dataset = dataset,
var = !!var,
dataset_name = "your_data",
var_name = "your_var"
)
}
try(example_fun2(
dataset = my_data,
var = USUBJID
))
#> Error in assert_date_var(dataset = dataset, var = !!var, dataset_name = "your_data", :
#> `your_var` in dataset `your_data` is not a date or datetime variable but is a character vector