CheckInput | R Documentation |
An input vector (of length one unless okSeveral is TRUE) is checked.
CheckInput(
x,
alt = NULL,
min = NULL,
max = NULL,
type = "character",
data = NULL,
okSeveral = FALSE,
okNULL = FALSE,
okNA = FALSE,
okDuplicates = is.null(alt) & !(type %in% c("varName", "varNr", "varNrName"))
)
x |
Input vector to be checked |
alt |
NULL or vector of allowed values |
min |
NULL or minimum value (when type is numeric or integer) |
max |
NULL or maximum value (when type is numeric or integer) |
type |
One of: "character", "numeric", "integer", "logical", "varName", "varNr", "varNrName". numeric/integer is not checked against exact class, but whether the value fit into the class. Also see data below. |
data |
A data frame or matrix. When above type is varNames x is checked against colnames(data). When type is varNr x is checked against column numbers. When type is varNrName x can be either column numbers or column names. |
okSeveral |
When TRUE length(x)>1 is allowed |
okNULL |
When TRUE NULL is allowed |
okNA |
When TRUE NA is allowed |
okDuplicates |
When TRUE duplicated values are allowed. Default is TRUE if alt is NULL and if type does not refer to column(s) of data. |
x is checked according to the other input parameters. When x is wrong an error is produced with appropriate text.
Øyvind Langsrud
a <- c("no", "yes")
b <- c(3.14, 4, 5)
z <- data.frame(A = a, B = b[1:2], C = TRUE)
# Lines causing error are embedded in 'try'
try(CheckInput(a, type = "character"))
CheckInput(a, type = "character", alt = c("no", "yes", "dontknow"), okSeveral = TRUE)
try(CheckInput("yesno", type = "character", alt = c("no", "yes", "dontknow")))
CheckInput(a[1], type = "character", alt = c("no", "yes", "dontknow"))
try(CheckInput(b, type = "integer", max = 100, okSeveral = TRUE))
try(CheckInput(b, type = "numeric", min = 4, okSeveral = TRUE))
CheckInput(b, type = "numeric", max = 100, okSeveral = TRUE)
try(CheckInput(b, type = "numeric", alt = 1:10, okSeveral = TRUE))
CheckInput(b[2], type = "numeric", alt = 1:10)
try(CheckInput("TRUE", type = "logical"))
CheckInput(TRUE, type = "logical")
try(CheckInput("A", type = "varName"))
CheckInput("A", type = "varName", data = z)
CheckInput(c("A", "B"), type = "varNrName", data = z, okSeveral = TRUE)
try(CheckInput("ABC", type = "varNrName", data = z))
try(CheckInput(5, type = "varNrName", data = z))
CheckInput(3, type = "varNr", data = z)
CheckInput(2:3, type = "varNr", data = z, okSeveral = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.