data.table. When the right-hand side was a
data.table, the key-column rename was applied in place; the
input is now copied before renaming so the caller’s object is left
untouched.join_explain() infers the join type from row counts
when type is not supplied, and remains robust when the type
cannot be determined unambiguously.NA, matching how joins handle them. This
corrects NA counts, duplicate detection, and row-count predictions for
composite keys (#3).NA for very
large joins; counts are kept as doubles (#4).%||% is imported from rlang, so the package works on R
4.1 through 4.3 (#2).key_check() treat issue text as
data, so braces in column names or values are no longer interpreted by
cli (#5).suggest_repairs() generates valid code for
non-syntactic column names using [[ ]] indexing (#6).left_join_spy(),
join_strict(), etc.) now auto-detect input class and
dispatch to the native join engine: tibble inputs use dplyr, data.table
inputs use data.table, plain data.frames use base R
merge()backend parameter for explicit override
("base", "dplyr",
"data.table")by vectors, class preservation, and all three
backends.covrignore to exclude untestable Shiny addin
from coverage calculationplot_venn(): Use
plot(report, file = "...") insteadplot_summary(): Use
summary(report, format = "markdown") insteadplot(): Now accepts
file, width, height,
colors parameterssummary(): Now accepts
format parameter (“data.frame”, “text”, “markdown”)cph role and ORCID to DESCRIPTIONLanguage: en-US fieldaddin_join_inspector()
opens an interactive Shiny gadget for exploring join diagnosticslog_report()
writes reports to file (text/JSON/RDS format)set_log_file() /
get_log_file() for session-wide logging configurationlast_report()
retrieves diagnostics after silent joins.quiet = TRUE parameter
for all *_join_spy() wrapperscheck_cartesian(): Detect and warn
about cross-join / Cartesian product explosionsdetect_cardinality(): Determine actual
key relationship (1:1, 1:n, n:1, n:m)analyze_join_chain(): Analyze
cascading joins in multi-table workflowsplot_venn(): Venn diagram of key
overlap with PNG/SVG/PDF exportplot_summary(): Summary tables in
text, markdown, or data.frame formatplot() method for
JoinReport objectsjoin_spy(x, y, by, sample = 10000) for large datasetsseed
parameter for consistent resultsjoin_repair(): Automatically fix
common key issues
suggest_repairs(): Generate R code
snippets to fix detected issuesInitial release.
join_spy() - Comprehensive pre-join diagnostic
reportkey_check() - Quick key quality assessmentkey_duplicates() - Find and locate duplicate keysjoin_explain() - Explain row count changes
post-joinjoin_diff() - Before/after state comparisonjoin_strict() - Join with cardinality enforcementleft_join_spy(), right_join_spy(),
inner_join_spy(), full_join_spy() - Join
wrappers with diagnosticsprint(), summary(), plot()
methods for JoinReport objects