← Back to all sparks
N

nuggets

INFRA · APIS
Velocity2.5

Fast and Extensible Pattern Discovery in Tabular Data

nuggets keeps compounding on the 2.0 rewrite — more pattern families, lighter install.

pattern-miningassociation-rulesguhacpp-performanceshinyr-package
Current state
nuggets searches for association rules, contrasts and other conditional patterns in the GUHA tradition, with a C++ core behind dig() and an interactive explore() app for reading results. Since the 2.0 rewrite of that core, every release has widened the same three surfaces: more pattern families to mine, more of explore() to inspect them in, and steady performance work underneath. The most recent tag optimises dig() on sparse crisp data with a sparse bit chain and adds clustering characteristics to explore() for association rules.
Where it's heading
Two forces are shaping the package. One is coverage: baseline, complement and paired-baseline contrasts, correlations, tautologies, ancestors and clustering have all been added as first-class dig_ or explore_ surfaces, so the same search engine now answers a widening set of questions. The other is weight — Shiny packages moved from Imports to Suggests, BH and RcppThread dropped, XSIMD updated, parse_condition() rewritten in C++ — which keeps a package with an interactive app from forcing that app's dependencies on every user. Deprecations are handled through lifecycle rather than removed abruptly.
Prediction
Expect the sparse-data optimisation to extend from crisp to fuzzy data, and explore() to keep gaining tabs as each new pattern family lands, on the roughly six-week cadence the 2.2 line has held.

Recent moves

  1. 27d ago

    Sparse bit chain speeds dig(); explore() gains clustering

    A sparse bit chain speeds up dig() on sparse crisp data, and explore() gains clustering characteristics for association rules. Both continue the post-2.0 pattern of tuning the search engine while making its output more readable, with axiom handling and partition() NA bugs fixed alongside.

    View source ↗
  2. 2mo ago

    partition() gains .subsets; geom_diamond() layout improved

    partition() gains a .subsets argument for partitioning by subsets of factor levels, and geom_diamond() places nodes to reduce edge crossings. Small additions to the data-preparation and visualisation ends rather than the search core.

    View source ↗
  3. 5mo ago

    explore() covers contrasts and correlations; dig_ancestors() added

    The broadest release in the window: explore() gained methods for baseline, complement and paired-baseline contrasts and for correlations, plus a contingency-table view, while dig_ancestors() and plot_contingency() were added. It widens what the interactive layer can inspect to match what the search layer can find.

    View source ↗
  4. 6mo ago

    Critical explore() bug fixed; is_logicalish() added

    A patch tag: a critical explore() bug fixed, the R version requirement corrected, and one small helper added. Nothing changes what the package can find.

    View source ↗
  5. 6mo ago

    Shiny deps moved to Suggests; BH and RcppThread dropped

    A dependency-weight release: the seven Shiny-related packages moved from Imports to Suggests and BH and RcppThread were dropped, so a user mining patterns from a script no longer installs the interactive app's stack. XSIMD was updated and deprecated measures arguments removed.

    View source ↗
  6. 8mo ago

    cluster_associations() and add_interest() arrive; C++ condition parser

    Adds cluster_associations() and add_interest() for computing GUHA and arules interest measures on found associations, rewrites parse_condition() in C++, and gives explore() a Cluster tab. The first release after 2.0 to extend the rewritten core rather than stabilise it.

    View source ↗