Check if an argument is a data table
Usage
checkDataTable(
x,
key = NULL,
index = NULL,
types = character(0L),
any.missing = TRUE,
all.missing = TRUE,
min.rows = NULL,
max.rows = NULL,
min.cols = NULL,
max.cols = NULL,
nrows = NULL,
ncols = NULL,
row.names = NULL,
col.names = NULL,
null.ok = FALSE
)
check_data_table(
x,
key = NULL,
index = NULL,
types = character(0L),
any.missing = TRUE,
all.missing = TRUE,
min.rows = NULL,
max.rows = NULL,
min.cols = NULL,
max.cols = NULL,
nrows = NULL,
ncols = NULL,
row.names = NULL,
col.names = NULL,
null.ok = FALSE
)
assertDataTable(
x,
key = NULL,
index = NULL,
types = character(0L),
any.missing = TRUE,
all.missing = TRUE,
min.rows = NULL,
max.rows = NULL,
min.cols = NULL,
max.cols = NULL,
nrows = NULL,
ncols = NULL,
row.names = NULL,
col.names = NULL,
null.ok = FALSE,
.var.name = vname(x),
add = NULL
)
assert_data_table(
x,
key = NULL,
index = NULL,
types = character(0L),
any.missing = TRUE,
all.missing = TRUE,
min.rows = NULL,
max.rows = NULL,
min.cols = NULL,
max.cols = NULL,
nrows = NULL,
ncols = NULL,
row.names = NULL,
col.names = NULL,
null.ok = FALSE,
.var.name = vname(x),
add = NULL
)
testDataTable(
x,
key = NULL,
index = NULL,
types = character(0L),
any.missing = TRUE,
all.missing = TRUE,
min.rows = NULL,
max.rows = NULL,
min.cols = NULL,
max.cols = NULL,
nrows = NULL,
ncols = NULL,
row.names = NULL,
col.names = NULL,
null.ok = FALSE
)
test_data_table(
x,
key = NULL,
index = NULL,
types = character(0L),
any.missing = TRUE,
all.missing = TRUE,
min.rows = NULL,
max.rows = NULL,
min.cols = NULL,
max.cols = NULL,
nrows = NULL,
ncols = NULL,
row.names = NULL,
col.names = NULL,
null.ok = FALSE
)
expect_data_table(
x,
key = NULL,
index = NULL,
types = character(0L),
any.missing = TRUE,
all.missing = TRUE,
min.rows = NULL,
max.rows = NULL,
min.cols = NULL,
max.cols = NULL,
nrows = NULL,
ncols = NULL,
row.names = NULL,
col.names = NULL,
null.ok = FALSE,
info = NULL,
label = vname(x)
)
Arguments
- x
[any]
Object to check.- key
[
character
]
Expected primary key(s) of the data table.- index
[
character
]
Expected secondary key(s) of the data table.- types
[
character
]
Character vector of class names. Each list element must inherit from at least one of the provided types. The types “logical”, “integer”, “integerish”, “double”, “numeric”, “complex”, “character”, “factor”, “atomic”, “vector” “atomicvector”, “array”, “matrix”, “list”, “function”, “environment” and “null” are supported. For other typesinherits
is used as a fallback to checkx
's inheritance. Defaults tocharacter(0)
(no check).- any.missing
[
logical(1)
]
Are missing values allowed? Default isTRUE
.- all.missing
[
logical(1)
]
Are matrices with only missing values allowed? Default isTRUE
.- min.rows
[
integer(1)
]
Minimum number of rows.- max.rows
[
integer(1)
]
Maximum number of rows.- min.cols
[
integer(1)
]
Minimum number of columns.- max.cols
[
integer(1)
]
Maximum number of columns.- nrows
[
integer(1)
]
Exact number of rows.- ncols
[
integer(1)
]
Exact number of columns.- row.names
[
character(1)
]
Check for row names. Default is “NULL” (no check). SeecheckNamed
for possible values. Note that you can usecheckSubset
to check for a specific set of names.- col.names
[
character(1)
]
Check for column names. Default is “NULL” (no check). SeecheckNamed
for possible values. Note that you can usecheckSubset
to test for a specific set of names.- null.ok
[
logical(1)
]
If set toTRUE
,x
may also beNULL
. In this case only a type check ofx
is performed, all additional checks are disabled.- .var.name
[
character(1)
]
Name of the checked object to print in assertions. Defaults to the heuristic implemented invname
.- add
[
AssertCollection
]
Collection to store assertion messages. SeeAssertCollection
.- info
[
character(1)
]
Extra information to be included in the message for the testthat reporter. Seeexpect_that
.- label
[
character(1)
]
Name of the checked object to print in messages. Defaults to the heuristic implemented invname
.
Value
Depending on the function prefix:
If the check is successful, the functions
assertDataTable
/assert_data_table
return
x
invisibly, whereas
checkDataTable
/check_data_table
and
testDataTable
/test_data_table
return
TRUE
.
If the check is not successful,
assertDataTable
/assert_data_table
throws an error message,
testDataTable
/test_data_table
returns FALSE
,
and checkDataTable
/check_data_table
return a string with the error message.
The function expect_data_table
always returns an
expectation
.
See also
Other compound:
checkArray()
,
checkDataFrame()
,
checkMatrix()
,
checkTibble()
Examples
library(data.table)
dt = as.data.table(iris)
setkeyv(dt, "Species")
setkeyv(dt, "Sepal.Length", physical = FALSE)
testDataTable(dt)
#> [1] TRUE
testDataTable(dt, key = "Species", index = "Sepal.Length", any.missing = FALSE)
#> [1] TRUE