Suggest a range check

write_range_check(d, vars = names(d), min = TRUE, max = FALSE, file = stdout())

suggest_range_check(d, vars = names(d), min = TRUE, max = FALSE)

Arguments

d

data.frame, used to generate the checks

vars

character optionally the subset of variables to be used.

min

TRUE or FALSE, should the minimum value be checked?

max

TRUE or FALSE, should the maximum value be checked?

file

file to which the checks will be written to.

Value

suggest_range_check returns validate::validator() object with the suggested rules. write_range_check write the rules to file and returns invisibly a named list of ranges for each variable.

Examples

data(SBS2000, package="validate")

suggest_range_check(SBS2000)
#> Warning: Skipped range check 'id', as it is unique for each record
#> Object of class 'validator' with 10 elements:
#>  RC1 : size %in% c("sc0", "sc3", "sc1", "sc2")
#>  RC2 : incl.prob >= 0.02
#>  RC3 : staff >= 1
#>  RC4 : turnover >= 1
#>  RC5 : other.rev >= -33
#>  RC6 : total.rev >= 25
#>  RC7 : staff.costs >= 2
#>  RC8 : total.costs >= 22
#>  RC9 : profit >= -222
#>  RC10: vat >= 41

# checks the ranges of each variable
suggest_range_check(SBS2000[-1], min=TRUE, max=TRUE)
#> Object of class 'validator' with 10 elements:
#>  RC1 : size %in% c("sc0", "sc3", "sc1", "sc2")
#>  RC2 : in_range(incl.prob, 0.02, 0.14)
#>  RC3 : in_range(staff, 1, 75)
#>  RC4 : in_range(turnover, 1, 931397)
#>  RC5 : in_range(other.rev, -33, 98350)
#>  RC6 : in_range(total.rev, 25, 931397)
#>  RC7 : in_range(staff.costs, 2, 221302)
#>  RC8 : in_range(total.costs, 22, 2725410)
#>  RC9 : in_range(profit, -222, 225493)
#>  RC10: in_range(vat, 41, 9655)

# checks the ranges of each variable
suggest_range_check(SBS2000, vars=c("turnover", "other.rev"), min=FALSE, max=TRUE)
#> Object of class 'validator' with 2 elements:
#>  RC1: turnover <= 931397
#>  RC2: other.rev <= 98350