| name | validate |
| description | R validate package for data validation. Use for defining and checking data validation rules. |
validate
Data validation infrastructure.
Define Rules
library(validate)
rules <- validator(
age >= 0,
age <= 120,
income >= 0,
!is.na(name)
)
rules <- validator(
positive_age = age >= 0,
valid_income = income > 0,
has_name = nchar(name) > 0
)
Check Data
result <- confront(df, rules)
summary(result)
values(result)
as.data.frame(result)
Rule Types
rules <- validator(
age %in% 0:120,
grepl("^[A-Z]", name),
end_date >= start_date,
mean(income) > 0,
is_unique(id),
is_complete(name, age)
)
Indicators
ind <- indicator(
mean_age = mean(age, na.rm = TRUE),
pct_missing = mean(is.na(income)) * 100,
n_records = .N
)
add_indicator(result, ind)
Export Rules
export_yaml(rules, "rules.yaml")
rules <- validator(.file = "rules.yaml")
as.data.frame(rules)
Reporting
barplot(result)
aggregate(result)
aggregate(result, by = "record")
Error Localization
errors <- values(result)
df[!errors[, "positive_age"], ]
Rule Metadata
rules <- validator(
age >= 0,
.description = "Age must be non-negative"
)
meta(rules)