View source: R/confront_tbl_sparse.R
confront_tbl_sparse | R Documentation |
Create a sparse confrontation query. Only errors and missing are stored.
This stores all results
of a tbl
validation in a table with length(rules)
columns and nrow(tbl)
rows. Note that the result of this function is a (lazy) query object that
still needs to be executed in the database, e.g. with dplyr::collect()
, dplyr::collapse()
or
dplyr::compute()
.
confront_tbl_sparse(tbl, x, key, union_all = TRUE, check_rules = TRUE)
tbl |
|
x |
|
key |
|
union_all |
if |
check_rules |
if |
The return value of the function is a list with:
$query
: A dbplyr::tbl_dbi()
object that refers to the confrontation query.
$errors
: The validation rules that are not working on the database
$working
: A logical
with which expression are working on the database.
$exprs
: All validation expressions.
A object with the necessary information: see details
Other validation:
tbl_validation-class
,
values,tbl_validation-method
# create a table in a database income <- data.frame(id = letters[1:2], age=c(12,35), salary = c(1000,NA)) con <- dbplyr::src_memdb() tbl_income <- dplyr::copy_to(con, income, overwrite=TRUE) print(tbl_income) # Let's define a rule set and confront the table with it: rules <- validator( is_adult = age >= 18 , has_income = salary > 0 , mean_age = mean(age,na.rm=TRUE) > 20 ) # and confront! (we have to use a key, because a db...) cf <- confront(tbl_income, rules, key = "id") print(cf) summary(cf) # Values (i.e. validations on the table) can be retrieved like in `validate` # with`type="matrix"` (simplify = TRUE) values(cf, type = "matrix") # But often this seems more handy: values(cf, type = "tbl") # We can see the sql code by using `show_query`: show_query(cf) # identical show_query(values(cf, type = "tbl")) # sparse results in db (that the default) values(cf, type="tbl", sparse=TRUE) # or if you like data.frames values(cf, type="data.frame", sparse=TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.