Description Usage Arguments Details Value See Also Examples
Retrieve the result of a validation/confrontation.
1 2 3 4 5 6 7 |
x |
|
simplify |
only use when |
type |
whether to return a list/matrix or to return a query on the database. |
... |
not used |
Since the validation is done on a database, there are multiple options for storing the result of the validation. The results show per record whether they are valid according to the validation rules supplied.
Use compute
(see confront.tbl_sql()
) to store the result in the database
Use sparse
to only calculate "fails" and "missings"
Default type "tbl" is that everything is "lazy", so the query and/or storage has to
be done explicitly by the user.
The other types execute the query and retrieve the result into R. When this
creates memory problems, the tbl
option is to be preferred.
Results for type
:
tbl
: a dbplyr::tbl_dbi object, pointing to the database
matrix
: a R matrix, similar to validate::values()
.
list
: a R list, similar to validate::values()
.
data.frame
: the result of tbl
stored in a data.frame
.
depending on type
the result is different, see details
Other validation:
confront.tbl_sql()
,
tbl_validation-class
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | # 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!
cf <- confront(tbl_income, rules)
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"))
# adding a key often is handy in a database
cf <- confront(tbl_income, rules, key = "id")
print(cf)
values(cf, type="tbl")
# sparse results in db
cf_sparse <- confront(tbl_income, rules, sparse=TRUE)
values(cf_sparse, type="tbl")
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.