joinery: Heuristic Index-Based Record Linkage
Links records that refer to the same entity across sources that
share no common key, such as people, firms, or addresses with spelling
variation, abbreviations, or reordered words. Linkage is described
declaratively as a strategy that normalises, tokenises, phonetically
encodes, weights, and blocks each field; candidate pairs are then scored
by the rarity-weighted overlap of their tokens and every score is
attributed back to individual tokens for explainability. Strategies
compose into staged pipelines of exact, fuzzy, and optional
embedding-based matching that carry unmatched records forward and resolve
entities as connected components. The same strategy runs on an in-memory
'data.table' backend or an out-of-core 'DuckDB' backend, and diagnostic
and calibration tools help tune a strategy and filter false positives.
The token-retrieval heuristic follows Doherr (2023)
<doi:10.2139/ssrn.4326848>.
| Version: |
1.0.0 |
| Depends: |
R (≥ 4.1.0) |
| Imports: |
S7, rlang (≥ 1.1.0), data.table, igraph, stringi, phonics, lubridate, cli, glue, tinyplot, graphics |
| Suggests: |
duckdb, DBI, dbplyr, dplyr, tidyllm, tibble, stringdist, generics, parsnip, recipes, workflows, yardstick, probably, testthat (≥ 3.0.0), withr, knitr, rmarkdown |
| Published: |
2026-07-07 |
| DOI: |
10.32614/CRAN.package.joinery (may not be active yet) |
| Author: |
Eduard Brüll [aut, cre] |
| Maintainer: |
Eduard Brüll <eduard.bruell at zew.de> |
| BugReports: |
https://github.com/edubruell/joinery/issues |
| License: |
MIT + file LICENSE |
| URL: |
https://edubruell.github.io/joinery/,
https://github.com/edubruell/joinery |
| NeedsCompilation: |
no |
| Language: |
en-GB |
| Materials: |
README, NEWS |
| CRAN checks: |
joinery results |
Documentation:
Downloads:
Linking:
Please use the canonical form
https://CRAN.R-project.org/package=joinery
to link to this page.