inspect_par_haldane
checks if an object is an eligible vector
of parameters for the Haldane distribution. This can be useful to validate
inputs, intermediate calculations or outputs in user-defined functions.
inspect_par_haldane(x)
x | An arbitrary object. |
---|
inspect_par_haldane
does not return any output. There are two
possible outcomes:
The call is silent if x
is an eligible vector of parameters for the
Haldane distribution.
An informative error message is thrown otherwise.
inspect_par_haldane
conducts a series of tests to check if x
is
an eligible vector of parameters for the Haldane distribution. Namely,
inspect_par_haldane
checks if:
x
is NULL
or empty.
x
is an atomic vector
x
is numeric
x
has NA
or NaN
values.
All elements of x
equal to 0.
inspect_par_bernoulli
to validate parameters for
the Bernoulli/Binomial distribution.
inspect_par_multinomial
to validate parameters for
the Multinomial distribution.
inspect_par_beta
to validate parameters for the
Beta distribution.
inspect_par_dirichlet
to validate parameters for
the Dirichlet distribution.
# Calls that pass silently:
x1 <- c(0, 0, 0)
x2 <- c(0, 0)
inspect_par_haldane(x1)
inspect_par_haldane(x2)
# Calls that throw an informative error message:
mylist <- list(
NULL, factor(0, 0, 0),
matrix(c(0, 0, 0)), c("0", "0", "0"), list(0, 0, 0), c(0, NA),
c(0, NaN, 0), c(TRUE, FALSE), numeric(0), c(1, 0, 0)
)
try(inspect_par_haldane(mylist[[1]]))
#> Error in inspect_par_haldane(mylist[[1]]) :
#> Invalid argument: mylist[[1]] is NULL.
try(inspect_par_haldane(mylist[[2]]))
#> Error in inspect_par_haldane(mylist[[2]]) :
#> Invalid argument: mylist[[2]] must be an atomic vector.
try(inspect_par_haldane(mylist[[3]]))
#> Error in inspect_par_haldane(mylist[[3]]) :
#> Invalid argument: mylist[[3]] must be an atomic vector.
try(inspect_par_haldane(mylist[[4]]))
#> Error in inspect_par_haldane(mylist[[4]]) :
#> Invalid argument: mylist[[4]] must be numeric.
try(inspect_par_haldane(mylist[[5]]))
#> Error in inspect_par_haldane(mylist[[5]]) :
#> Invalid argument: mylist[[5]] must be an atomic vector.
try(inspect_par_haldane(mylist[[6]]))
#> Error in inspect_par_haldane(mylist[[6]]) :
#> Invalid argument: there are NA or NaN values in mylist[[6]].
try(inspect_par_haldane(mylist[[7]]))
#> Error in inspect_par_haldane(mylist[[7]]) :
#> Invalid argument: there are NA or NaN values in mylist[[7]].
try(inspect_par_haldane(mylist[[8]]))
#> Error in inspect_par_haldane(mylist[[8]]) :
#> Invalid argument: mylist[[8]] must be numeric.
try(inspect_par_haldane(mylist[[9]]))
#> Error in inspect_par_haldane(mylist[[9]]) :
#> Invalid argument: mylist[[9]] is empty.
try(inspect_par_haldane(mylist[[10]]))
#> Error in inspect_par_haldane(mylist[[10]]) :
#> Invalid argument: all elements of mylist[[10]] must be 0.