A tibble representing the data validation result of certain data units in tidy way:
pack <chr>
: Name of rule pack from column 'name' of corresponding
packs_info object.
rule <chr>
: Name of the rule defined in rule pack.
var <chr>
: Name of the variable which validation result is reported.
Value '.all' is reserved and interpreted as 'all columns as a whole'.
Note that var
doesn't always represent the actual column in data frame
(see group packs).
id <int>
: Index of the row in tested data frame which validation
result is reported. Value 0 is reserved and interpreted as 'all rows as a
whole'.
value <lgl>
: Whether the described data unit obeys the rule.
is_report(.x, .skip_class = FALSE)
get_report(.object)
Object to test.
Whether to skip checking inheritance from ruler_report
.
Object to get report
value from exposure
attribute.
get_report()
returns report
element of object
if it is
exposure and of its 'exposure' attribute otherwise.
There are four basic combinations of var
and id
values which
define five basic data units:
var == '.all'
and id == 0
: Data as a whole.
var != '.all'
and id == 0
: Group (var
shouldn't be an actual column
name) or column (var
should be an actual column name) as a whole.
var == '.all'
and id != 0
: Row as a whole.
var != '.all'
and id != 0
: Described cell.
my_row_packs <- row_packs(
row_mean_props = . %>% dplyr::transmute(row_mean = rowMeans(.)) %>%
dplyr::transmute(
row_mean_low = row_mean > 20,
row_mean_high = row_mean < 60
),
row_outlier = . %>% dplyr::transmute(row_sum = rowSums(.)) %>%
dplyr::transmute(
not_row_outlier = abs(row_sum - mean(row_sum)) / sd(row_sum) < 1.5
)
)
my_data_packs <- data_packs(
data_dims = . %>% dplyr::summarise(
nrow = nrow(.) == 32,
ncol = ncol(.) == 5
)
)
mtcars_exposed <- mtcars %>%
expose(my_data_packs, .remove_obeyers = FALSE) %>%
expose(my_row_packs)
mtcars_exposed %>% get_report()
#> Tidy data validation report:
#> # A tibble: 14 × 5
#> pack rule var id value
#> <chr> <chr> <chr> <int> <lgl>
#> 1 data_dims nrow .all 0 TRUE
#> 2 data_dims ncol .all 0 FALSE
#> 3 row_mean_props row_mean_low .all 18 FALSE
#> 4 row_mean_props row_mean_low .all 19 FALSE
#> 5 row_mean_props row_mean_low .all 20 FALSE
#> 6 row_mean_props row_mean_low .all 26 FALSE
#> 7 row_mean_props row_mean_high .all 15 FALSE
#> 8 row_mean_props row_mean_high .all 16 FALSE
#> 9 row_mean_props row_mean_high .all 17 FALSE
#> 10 row_mean_props row_mean_high .all 29 FALSE
#> 11 row_mean_props row_mean_high .all 31 FALSE
#> 12 row_outlier not_row_outlier .all 15 FALSE
#> 13 row_outlier not_row_outlier .all 16 FALSE
#> 14 row_outlier not_row_outlier .all 17 FALSE
mtcars_exposed %>%
get_report() %>%
is_report()
#> [1] TRUE