| checkLogicalInteger {fda} | R Documentation |
Does an argument satisfy required conditions?
Description
Check whether an argument is a logical vector of a certain length or a numeric vector in a certain range and issue an appropriate error or warning if not:
checkLogical throws an error or returns FALSE with a warning
unless x is a logical vector of exactly the required
length.
checkNumeric throws an error or returns FALSE with a warning
unless x is either NULL or a numeric vector of at most
length with x in the desired range.
checkLogicalInteger returns a logical vector of exactly
length unless x is neither NULL nor logical of
the required length nor numeric with x in the
desired range.
Usage
checkLogical(x, length., warnOnly=FALSE)
checkNumeric(x, lower, upper, length., integer=TRUE, unique=TRUE,
inclusion=c(TRUE,TRUE), warnOnly=FALSE)
checkLogicalInteger(x, length., warnOnly=FALSE)
Arguments
x |
an object to be checked |
length. |
The required length for |
lower, upper |
lower and upper limits for |
integer |
logical: If true, a |
unique |
logical: TRUE if duplicates are NOT allowed in |
inclusion |
logical vector of length 2, similar to
if(inclusion[1]) (lower <= x) else (lower < x) if(inclusion[2]) (x <= upper) else (x < upper) |
warnOnly |
logical: If TRUE, violations are reported as warnings, not as errors. |
Details
1. xName <- deparse(substitute(x)) to use in any required error or warning.
2. if(is.null(x)) handle appropriately: Return FALSE for
checkLogical, TRUE for checkNumeric and rep(TRUE,
length.) for checkLogicalInteger.
3. Check class(x).
4. Check other conditions.
Value
checkLogical returns a logical vector of the required
length., unless it issues an error message.
checkNumeric returns a numeric vector of at most length.
with all elements between lower and upper, and
optionally unique, unless it issues an error message.
checkLogicalInteger returns a logical vector of the required
length., unless it issues an error message.
Author(s)
Spencer Graves
References
Ramsay, James O., Hooker, Giles, and Graves, Spencer (2009), Functional data analysis with R and Matlab, Springer, New York.
Ramsay, James O., and Silverman, Bernard W. (2005), Functional Data Analysis, 2nd ed., Springer, New York.
Ramsay, James O., and Silverman, Bernard W. (2002), Applied Functional Data Analysis, Springer, New York.
Examples
##
## checkLogical
##
checkLogical(NULL, length=3, warnOnly=TRUE)
checkLogical(c(FALSE, TRUE, TRUE), length=4, warnOnly=TRUE)
checkLogical(c(FALSE, TRUE, TRUE), length=3)
##
## checkNumeric
##
checkNumeric(NULL, lower=1, upper=3)
checkNumeric(1:3, 1, 3)
checkNumeric(1:3, 1, 3, inclusion=FALSE, warnOnly=TRUE)
checkNumeric(pi, 1, 4, integer=TRUE, warnOnly=TRUE)
checkNumeric(c(1, 1), 1, 4, warnOnly=TRUE)
checkNumeric(c(1, 1), 1, 4, unique=FALSE, warnOnly=TRUE)
##
## checkLogicalInteger
##
checkLogicalInteger(NULL, 3)
checkLogicalInteger(c(FALSE, TRUE), warnOnly=TRUE)
checkLogicalInteger(1:2, 3)
checkLogicalInteger(2, warnOnly=TRUE)
checkLogicalInteger(c(2, 4), 3, warnOnly=TRUE)
##
## checkLogicalInteger names its calling function
## rather than itself as the location of error detection
## if possible
##
tstFun <- function(x, length., warnOnly=FALSE){
checkLogicalInteger(x, length., warnOnly)
}
tstFun(NULL, 3)
tstFun(4, 3, warnOnly=TRUE)
tstFun2 <- function(x, length., warnOnly=FALSE){
tstFun(x, length., warnOnly)
}
tstFun2(4, 3, warnOnly=TRUE)