inspect_data_cat_as_dichotom
checks if an object contains
valid categorical data that is eligible to be used as dichotomous data. This
can be useful to validate inputs in user-defined functions.
inspect_data_cat_as_dichotom(
data,
success,
allow_nas = TRUE,
warning_nas = FALSE
)
data, success | Arbitrary objects. |
---|---|
allow_nas | Logical value. If |
warning_nas | Logical value. If |
inspect_data_cat_as_dichotom
does not return any output. There are
three possible outcomes:
The call is silent if:
data
contains valid categorical data that is eligible to be used as
dichotomous data and there are no NA
or NaN
values in data
.
data
contains valid categorical data that is eligible to be used as
dichotomous data, there are some NA
or NaN
values in data
,
allow_nas
is set to TRUE
and warning_nas
is set to FALSE
.
An informative warning message is thrown if:
data
contains valid categorical data that is eligible to be used as
dichotomous data and success
is not observed in data
.
data
contains valid categorical data that is eligible to be used as
dichotomous data, there are NA
or NaN
values in data
and both
allow_nas
and warning_nas
are set to TRUE
.
An informative error message is thrown and the execution is stopped if:
data
does not contain valid categorical data that is eligible to be
used as dichotomous data.
data
contains valid categorical data that is eligible to be used as
dichotomous data, there are some NA
or NaN
values in data
and
allow_nas
is set to FALSE
.
inspect_data_cat_as_dichotom
conducts a series of tests to check
if data
contains valid categorical data that is eligible to be used as
dichotomous data. Namely, inspect_data_cat_as_dichotom
checks if:
data
and success
are NULL
or empty.
data
and success
are atomic and have an eligible data type (logical,
integer, double, character).
data
and success
have NA
or NaN
values.
success
has length
1.
success
is observed in data
.
inspect_data_categorical
to validate categorical.
inspect_par_multinomial
to validate vectors of
Multinomial proportions.
inspect_data_dichotomous
to validate dichotomous
data.
inspect_par_bernoulli
to validate
Bernoulli/Binomial proportions.
# Calls that pass silently:
x1 <- c(1, 0, 0, 1, 0)
x2 <- c(FALSE, FALSE, TRUE)
x3 <- c("yes", "no", "yes")
x4 <- factor(c("yes", "no", "yes"))
x5 <- c(1, 0, 0, 1, 0, NA)
inspect_data_cat_as_dichotom(x1, success = 1)
inspect_data_cat_as_dichotom(x2, success = TRUE)
inspect_data_cat_as_dichotom(x3, success = "yes")
inspect_data_cat_as_dichotom(x4, success = "yes")
inspect_data_cat_as_dichotom(x5, success = 1)
# Calls that throw an informative warning message:
y1 <- c(1, 1, NA, 0, 0)
y2 <- c(0, 0)
success <- 1
try(inspect_data_cat_as_dichotom(y1, success = 1, warning_nas = TRUE))
#> Warning: There are NA or NaN values in y1.
try(inspect_data_cat_as_dichotom(y2, success = success))
#> Warning: success not observed in y2.
# Calls that throw an informative error message:
try(inspect_data_cat_as_dichotom(y1, 1, allow_nas = FALSE))
#> Error in inspect_data_cat_as_dichotom(y1, 1, allow_nas = FALSE) :
#> Invalid argument: there are NA or NaN values in y1.
try(inspect_data_cat_as_dichotom(NULL, 1))
#> Error in inspect_data_cat_as_dichotom(NULL, 1) :
#> Invalid argument: NULL is NULL.
try(inspect_data_cat_as_dichotom(c(1, 0), NULL))
#> Error in inspect_data_cat_as_dichotom(c(1, 0), NULL) :
#> Invalid argument: NULL is NULL.
try(inspect_data_cat_as_dichotom(list(1, 0), 1))
#> Error in inspect_data_cat_as_dichotom(list(1, 0), 1) :
#> Invalid argument: list(1, 0) must be atomic.
try(inspect_data_cat_as_dichotom(c(1, 0), list(1)))
#> Error in inspect_data_cat_as_dichotom(c(1, 0), list(1)) :
#> Invalid argument: list(1) must be atomic and have length 1.
try(inspect_data_cat_as_dichotom(numeric(0), 0))
#> Error in inspect_data_cat_as_dichotom(numeric(0), 0) :
#> Invalid argument: numeric(0) is empty.
try(inspect_data_cat_as_dichotom(1, numeric(0)))
#> Error in inspect_data_cat_as_dichotom(1, numeric(0)) :
#> Invalid argument: numeric(0) must be atomic and have length 1.
try(inspect_data_cat_as_dichotom(NaN, 1))
#> Error in inspect_data_cat_as_dichotom(NaN, 1) :
#> Invalid argument: all elements of NaN are NA or NaN.
try(inspect_data_cat_as_dichotom(NA, 1))
#> Error in inspect_data_cat_as_dichotom(NA, 1) :
#> Invalid argument: all elements of NA are NA or NaN.
try(inspect_data_cat_as_dichotom(c(1, 0), NA))
#> Error in inspect_data_cat_as_dichotom(c(1, 0), NA) :
#> Invalid argument: NA is NA or NaN.
try(inspect_data_cat_as_dichotom(c(1, 0), NaN))
#> Error in inspect_data_cat_as_dichotom(c(1, 0), NaN) :
#> Invalid argument: NaN is NA or NaN.
try(inspect_data_cat_as_dichotom(c(1, 0), 2))
#> Warning: 2 not observed in c(1, 0).