Skip to content

datadiff

0.6.1Package record

Data Validation Based on 'YAML' Rules

0packages depend
3.1Kdownloads / year
98.8%test coverage
13/13flavors OK

Overview

About

A comprehensive data validation package that allows comparing datasets using configurable validation rules defined in 'YAML' files. Built on top of the 'pointblank' package for robust data validation, it supports exact matching, tolerance-based numeric comparisons, text normalization, and row count validation.

Changes in 0.6.1

Bug fixes

  • A tolerance rule (abs / rel) on a column that is not numeric in the reference was silently ignored: the column fell back to an exact string comparison while applied_rules still listed abs and rel, so the report suggested a comparison by value that never happened. {datadiff} never converts data, so the rule cannot be honoured: such a column now gets a dedicated, always failing check, tolerance_on_non_numeric: <column>, visible in the agent and in coverage like type_mismatch; a warning is raised when it is detected, the column takes part in no other check, and applied_rules no longer lists the rule that was not applied. This holds whatever the origin of the rule (by_name, or a by_type block such as by_type: character: abs: 0.1, which now fails every character column) and whatever the non-numeric type (character, date, datetime, logical). build_coverage() and setup_pointblank_agent() gain a tolerance_non_numeric_cols argument, default empty (issue #60).
Show all changes in 0.6.1Hide the rest of the changes in 0.6.1
  • A comparison whose candidate or reference has no row could not carry a structural failure: on the local path adding the dummy column of a type_mismatch step errored ("replacement has 1 row, data has 0"), and on the lazy path with check_count: true the structural and row-count steps interrogated 0 units and passed, so all_passed was TRUE while coverage said FAIL. The structural steps (missing_column, type_mismatch, tolerance_on_non_numeric) are now table-wide col_exists() checks on a reserved, deliberately absent column: one unit, failing on any table, empty or not, which also aligns the agent with coverage (n = 1); a cmp that carries such a reserved name is refused. The row-count step still needs a row, so both paths seed one for the agent when the table is empty.
  • keys: [] in a rules file was read as an empty key and rejected before the data was even looked at ("Parameter 'key' must be a non-empty character vector"), although [] is the natural spelling of "no key" in a hand-written YAML. keys: [] and the legacy key: [] now mean "no key", exactly like an absent field or keys: ~: the comparison is positional. A present keys field now wins over a legacy key field whatever its value: keys: ~ next to key: [id] used to select id, it means "no key" like keys: [] does. The key argument of compare_datasets_from_yaml() and write_rules_template() is unchanged: an empty vector there is still an error, NULL is the way to ask for a positional comparison from R code (issue #59).

From NEWS.md in the release

Install

Health

CRAN checks
13OK
Slowest check: 4.6 min · r-oldrel-windows-x86_64
Status changes
  • OK13 OK2026-08-05
  • NOTE12 OK, 1 NOTE2026-08-01
  • OK13 OK2026-06-09
  • ERROR12 OK, 1 ERROR2026-06-08
  • OK7 OK2026-03-19
Advisories

none known

Documentation

In release 0.6.1
READMEYes · 1,430 wordsVignettesYes · 1 · dynamicNEWSYes · 100% structured · mentions 0.6.1Citation fileNoWebsitenot declared in DESCRIPTION
Help pages
14
Examples that run
100%11 run in a plain check
Exported functions with examples
92%
Documented parameters
100%
Return-value docs
100%
Help pages citing references
0%

Downloads

3.1K
CRAN downloads in the past year
Rank #11,031 · ~9/day · ~262/mo
Daily download trend is not available in this view yet.
37330 days
95790 days
3.1K1 year
Compare downloads with other packages →
Also on59 r2u10 autocran

Repository

6Stars
0Forks
6Open issues
0Open PRs
2Releases
91Commits
3Commit identities
91 commits · Last activity 2026-09-30 · 0% stars, 30d
Responsiveness
How these are sampled
PRs merged (all time)
100%
Median days to close, 50 most recently updated closed issues
90
Median days to close, 50 most recently updated closed PRs
0

Stars over time

2026-03-04 · 12026-07-07 · 6
PracticesBeta

4 development-tooling and community-health practices detected across 3 families in the upstream repository

Checks run against github.com/thinkr-open/datadiff on 2026-10-22.

Continuous integration (2)
GitHub ActionsR CMD check workflow

The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel

Docs source (1)
README.Rmd
Lint, format, editor (1)
RStudio project
How this is detected·Detection ruleset v4 (2026-10-20)
AI coding toolsBeta

This repository shows signs of AI coding tools.

  • Claude Codefirst seen on or before 2026-03-03
    Named in .Rbuildignore: .claude, CLAUDE.md
    Pull request it wrote: opened by a project member
    Commits: 5 by its own account · at least 11 crediting it in the message
Models named in its commits
  • Claude Fable 53 commits · Jul 2026
Counts are commits, not lines of code. Commits by a tool's accounts count once across all of its accounts. Commits crediting it are the largest count among its credit lines, a minimum.How this is detected·Detection ruleset v4 (updated 2026-09-27)

Dependencies

Declared dependencies
16 external dependencies (excludes base and recommended)

Installing datadiff adds 87 packages (41 with compiled code, 56 MB of source tarballs). Heaviest: stringi 11 MB, bslib 5.6 MB, gt 3.3 MB.

Depends (1)
R >= 4.0.0
LinkingTo (0)
none
Enhances (0)
none
Reverse dependencies
0direct
0indirect

Nothing depends on this yet.

People & History

People (3)
Maintainer since 0.4.4 (2026), Author
Copyright holder
Releases (4)

Pick two releases to compare their code metrics.

  • 0.6.1Latest
    record
    2026-09-30 · current release · diff ↗
  • 0.6.0
    record
    2026-06-18 · diff ↗ ·
    removed 1 export
    %||%
  • 0.5.0
    record
    2026-06-18 · diff ↗ ·
    added 2 exports
    %||%, datadiff_report_html
  • R
    R 4.6.0 released · 2026-04-24
  • 0.4.4
    record
    2026-03-18
  • R
    R 4.5.0 released · 2025-04-11

Package metadata

First published
2026-03-18
Total releases
4 / 1 yrs
License
MIT + file LICENSE OSI
Minimum R
≥ 4.0.0
Download size
169 KB

Cite

Cite this package

Run in R for the authors' preferred citation:

citation("datadiff")
Guyader, V., Agence technique de l'information sur l'hospitalisation, & ThinkR. (2026). datadiff: Data Validation Based on 'YAML' Rules (Version 0.6.1) [Computer software]. https://doi.org/10.32614/CRAN.package.datadiff

This package has no citation file, so citation() returns this entry built from DESCRIPTION.

Cite the R Observatory

For a number measured here: a download total, a coverage figure, an archival date.

APA

Balamuta, J. J. (2026). R Observatory: Metrics for datadiff version 0.6.1 [Data set]. HJJB, LLC. Data release v2026-10-23. https://doi.org/10.5281/zenodo.21843040

From data release v2026-10-23, which the citation names so these numbers can be found later. More on citing and the projects behind them.

Report a problem with this page →

Privacy choices

These apply to this browser and are stored on this device only. Nothing about your choice is sent to us.

Read the privacy policy