Heuristic Index-Based Record Linkage
Overview
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.
Bug fixes
- DuckDB batch auto-tuning no longer probes the operating system for total RAM (
sysctlon macOS,/proc/meminfoon Linux). It now reads the memory budget straight from the connection's ownmemory_limitsetting, which defaults to 80% of system RAM and reflects any user override. This removes the shell call that broke on systems withoutsysctlon thePATH(the CRAN M1mac check failures, where batch planning errored with "argument is of length zero"), and makes the budget detection work identically on all platforms, including Windows.
---
From NEWS.md in the release
Install
Health
- OK13 OK2026-09-19
- ERROR12 OK, 1 ERROR2026-09-18
- OK13 OK2026-08-05
- NOTE12 OK, 1 NOTE2026-08-01
- OK8 OK2026-07-08
Documentation
- Help pages
- 85 (1 internal)includes a package overview page
- Examples that run
- 93%41 run in a plain check · 2 only when donttest examples are enabled (R CMD check --as-cran) · 1 never run
- Exported functions with examples
- 58%
- Documented parameters
- 100%
- Return-value docs
- 100%
- Help pages citing references
- 0%
Downloads
Repository
Forks over time
PRs over time
Commits over time
7 development-tooling and community-health practices detected across 4 families in the upstream repository
Checks run against github.com/edubruell/joinery on 2026-10-21.
GitHub Pages site last deployed 2026-09-24 · The repository has a site deploy workflow
pkgdown site last built 2026-07-01, before release 1.0.1 (2026-07-07)
Dependencies
Installing joinery adds 18 packages (13 with compiled code, 28 MB of source tarballs). Heaviest: stringi 11 MB, data.table 5.7 MB, igraph 4.8 MB.
Code & Tests
Datasets
People & History
Pick two releases to compare their code metrics.
- 1.0.1Latest
- 1.0.02026-07-07
- RR 4.6.0 released · 2026-04-24
Package metadata
- First published
- 2026-07-07
- Total releases
- 2 / 1 yrs
- License
- MIT + file LICENSE OSI
- Minimum R
- ≥ 4.1.0
- Bundled data
- 153 KB / 8 files
- Download size
- 689 KB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("joinery")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.
From data release v2026-10-24, which the citation names so these numbers can be found later. More on citing and the projects behind them.