Learn R Programming

nuggets

nuggets is a package for R statistical computing environment providing a framework for systematic exploration of association rules (Agrawal (1994)), contrast patterns (Chen (2022)), emerging patterns (Dong (1999)), subgroup discovery (Atzmueller (2015)), and conditional correlations (Hájek (1978)). User-defined functions may also be supplied to guide custom pattern searches.

Supports both crisp (Boolean) and fuzzy data. Generates candidate conditions expressed as elementary conjunctions, evaluates them on a dataset, and inspects the induced sub-data for statistical, logical, or structural properties such as associations, correlations, or contrasts. Includes methods for visualization of logical structures and supports interactive exploration through integrated Shiny applications.

What Patterns Can You Discover?

  • Association Rules: “University educated people in middle age working in IT have high income” – identify conditions that strongly predict specific outcomes
  • Conditional Correlations: “Study time correlates with test score on hard exams” – discover relationships between variables that only hold under certain conditions
  • Complement Contrasts: “Smokers have lower life expectancy than non-smokers” – find subgroups with significantly different characteristics from the rest
  • Baseline Contrasts: “Measurement error differs from zero when using tool A” – detect when a variable deviates significantly from a baseline under specific conditions
  • Paired Contrasts: “Ice cream sales exceed tea sales on sunny days” – compare paired measurements within specific contexts
  • Custom Patterns: Define your own evaluation functions for specialized pattern mining

Key Features

  • Support for both categorical and numeric data.
  • Provides both Boolean and fuzzy logic approach.
  • Data preparation functions for easy pre-processing phase.
  • Functions for examining associations, conditional correlations, and contrasts among data variables.
  • Visualization and pattern post-processing tools.
  • Integrated Shiny applications for interactive exploration of discovered patterns.

Documentation

Read the full documentation of the nuggets package.

Installation

To install the stable version of nuggets from CRAN, type the following command within the R session:

install.packages("nuggets")

You can also install the development version of nuggets from GitHub with:

install.packages("devtools")
devtools::install_github("beerda/nuggets")

To start using the package, load it to the R session with:

library(nuggets)

Minimal Example

The following example demonstrates how to use nuggets to find association rules in the built-in mtcars dataset:

# Preprocess: dichotomize and fuzzify numeric variables
cars <- mtcars |>
    partition(cyl, vs:gear, .method = "dummy") |>
    partition(carb, .method = "crisp", .breaks = c(0, 3, 10)) |>
    partition(mpg, disp:qsec, .method = "triangle", .breaks = 3)

# Search for associations among conditions
rules <- dig_associations(cars,
                          antecedent = everything(),
                          consequent = everything(),
                          max_length = 4,
                          min_support = 0.1,
                          measures = c("lift", "conviction"))

# Explore the found rules interactively
explore(rules, cars)

Contributing

Contributions, suggestions, and bug reports are welcome. Please submit issues on GitHub.

Copy Link

Version

Install

install.packages('nuggets')

Monthly Downloads

465

Version

2.1.0

License

GPL (>= 3)

Issues

Pull Requests

Stars

Forks

Maintainer

Michal Burda

Last Published

November 5th, 2025

Functions in nuggets (2.1.0)

dig

Search for patterns of a custom type
add_interest.associations

Add additional interest measures for association rules
association_matrix

Create an association matrix from a nugget of flavour associations.
cluster_associations

Cluster association rules
dig_baseline_contrasts

Search for conditions that yield in statistically significant one-sample test in selected variables.
dig_associations

Search for association rules
dig_grid

Search for grid-based rules
dig_correlations

Search for conditional correlations
dig_complement_contrasts

Search for conditions that provide significant differences in selected variables to the rest of the data table
bound_range

Bound a range of numeric values
geom_diamond

Geom for drawing diamond plots of lattice structures
is_almost_constant

Test whether a vector is almost constant
is_condition

Check whether a list of character vectors contains valid conditions
is_nugget

Test whether an object is a nugget
explore.associations

Show interactive application to explore association rules
is_degree

Test whether an object contains numeric values from the interval \([0,1]\)
dig_tautologies

Find tautologies or "almost tautologies" in a dataset
fire

Obtain truth-degrees of conditions
dig_paired_baseline_contrasts

Search for conditions that provide significant differences between paired variables
format_condition

Format a vector of predicates into a condition string
reexports

Objects exported from other packages
remove_ill_conditions

Remove invalid conditions from a list
remove_almost_constant

Remove almost constant columns from a data frame
is_subset

Determine whether one vector is a subset of another
nugget

Create a nugget object of a given flavour
parse_condition

Convert condition strings into lists of predicate vectors
nuggets-package

nuggets: Extensible Framework for Data Pattern Exploration
values

Extract values from predicate names
partition

Convert columns of a data frame to Boolean or fuzzy sets (triangular, trapezoidal, or raised-cosine)
shorten_condition

Shorten predicates within conditions
which_antichain

Return indices of first elements of the list, which are incomparable with preceding elements.
var_grid

Create a tibble of combinations of selected column names
var_names

Extract variable names from predicate names