Skip to contents

fcaR 1.3.0

Major Enhancements:

  • Matrix factorization: Added factorize() method to FormalContext class. It now implements two state-of-the-art algorithms:
    • GreConD+: For Boolean and Fuzzy matrix factorization with grades and overcovering (Belohlavek & Trneckova, 2024). It fully supports custom fuzzy logics set in the context.
    • ASSO: A heuristic algorithm based on association rules for Boolean matrix factorization.
  • Advanced randomization: New suite of functions to generate and perturb datasets for statistical testing:
    • RandomContext(): Generates synthetic contexts using Uniform or Dirichlet distributions (mimicking real-world data structure).
    • randomize_context(): Randomizes existing contexts via Edge swapping (preserves marginal sums) or Rewiring (preserves density).
  • Robustness & performance: The InClose algorithm has been completely refactored to use the C-API directly (avoiding Rcpp overhead). This significantly improves performance for sparse matrices.

New Functionality:

  • Advanced metrics: Added methods stability(), separation(), and fuzzy_density() to ConceptLattice to compute concept quality metrics.
  • Fuzzy algorithms: In fuzzy contexts, the user can now select the algorithm for find_concepts(): “InClose” (default), “FastCbO”, or “NextClosure”.
  • Implications:
    • Added to_direct_optimal() to convert implication sets into the direct optimal basis.
    • Added use_hedge() and get_hedge() to manage hedges in fuzzy implication closures.
  • Repo integration: The connection to fcarepository.org is now managed more elegantly, including an RStudio addin to fetch contexts.

Improvements:

  • Visualization: Removed dependency on hasseDiagram. Implemented a new native graphics engine for concept lattices.
  • Efficiency: Optimized C functions for concept support computation and general lattice mining.
  • Documentation: Added new vignettes: advanced_lattice_metrics, creating_contexts, fuzzy_fca, lattice_visualization, matrix_factorization, and random_contexts.

fcaR 1.2.2

CRAN release: 2023-11-30

Enhancements:

  • Added more unit tests.
  • Minor changes to the plotting of formal contexts.
  • Now the fc$scale() function admits a new argument bg (default: FALSE) which, if set to TRUE, avoids computing the background knowledge of the scales.

Fixes:

  • Changed the package documentation format to comply with the new roxygen2 _PACKAGE sentinel.

fcaR 1.2.1

CRAN release: 2023-04-27

Enhancements:

  • Other logics have been implemented. Now, we can use fc$use_logic() to select one of the available_logics().
  • Improved export to LaTeX.

Bugfixes:

  • Fixes required by the new version of Matrix and the new use of HTML Tidy in R 4.2.
  • Some rounding errors might induce errors in the computations. These has been fixed.

fcaR 1.2.0

CRAN release: 2022-09-04

  • Fixes required by the new version of Matrix and the new use of HTML Tidy in R 4.2.

fcaR 1.1.1

CRAN release: 2021-06-28

Enhancements:

  • The user can control the number of decimal digits when exporting to LaTeX or when printing formal contexts, concept lattices and implications. Just use fcaR_options(decimal_places = n), where n is the number of desired decimal digits.

New functionality:

  • Now the package uses the settings package to manage several options. Currently, the only option is the number of decimal digits to use when printing or exporting to LaTeX.

Bugfixes:

  • Fixed exporting to latex with special characters such as $, _, etc.

fcaR 1.1.0

CRAN release: 2021-06-16

Enhancements:

  • Better printing of Sets.
  • More optimized ConceptLattice class. Now it inherits from a ConceptSet superclass with generic functions.

New functionality:

  • Added function to compute the difference of two Sets.
  • Added function to compute the dual of a FormalContext.
  • Now one can create a FormalContext from a CSV, CXT or RDS file directly, without needing to “load()” it.
  • FormalContexts can now be saved to CXT format, in addition to RDS.
  • Added functions to compute the top and the bottom of a concept lattice.
  • Added new function sub() to extract a single Concept from a ConceptSet.
  • Added functions %holds_in% and %respects%, which check the validity of a set of implications in a formal context, and if a list of attribute sets respect an implication set.
  • Added functions %entails% and %~% to check the entailment and equivalence between two implication sets.
  • Added new convenience function to map attributes between Sets, so computing intents, extents and closures is more robust.
  • Added new functions %&% and %|% that compute the intersection (logical and) and the union (or operation) on Sets.
  • Conceptual scaling, including nominal, ordinal, interordinal, biordinal and interval scales for many-valued formal contexts. Also, computation of background knowledge from the applied scales and of the implications that hold in the formal context. Added new vignette.

Breaking changes:

  • The former SparseSet and SparseConcept classes are now named Set and Concept. Thus, to create an object of these types, just use Set$new(…) or Concept$new(…). Analogously, the former function as_SparseSet() is now as_Set().

Bugfixes:

  • Minor bugfixes in several functions.

fcaR 1.0.7

CRAN release: 2020-12-02

Bugfixes:

  • Minor bugfixes in several functions.
  • Fixed C source that could generate some problems.

Enhancements:

  • Reduced number of dependencies.
  • Better printing of FormalContexts, specially for binary FormalContexts.

fcaR 1.0.6

CRAN release: 2020-11-18

Bugfixes:

  • Detect if R has been built with no long double capabilities and warn the user if she tries to plot FormalContexts and ConceptLattices.

fcaR 1.0.5

Bugfixes:

  • Fixes #17. The reduced set of implications after performing closure with reduce == TRUE now stores the matrix I, so it can be re-exported to the arules format.

Enhancements:

  • More efficient version of the simplification rule. Now it performs linearly on the number of implications.
  • Added a way to extend the equivalence rules by means of the registry package. This has been used to introduce the “Right Simplification” and the “Reorder” rules.
  • New vignette to show how to extend equivalence rules in the package.
  • More efficient version of the NextClosure algorithm to mine concepts and implications.

fcaR 1.0.4

CRAN release: 2020-07-07

Bugfixes:

  • Fixes #15. A problem with version 1.6-6 of arules.
  • Bugfix when using the trivial context (S, S, !=)
  • Several bugfixes in LaTeX output.

Enhancements:

  • Added export of plots to TiKZ to be included in LaTeX documents.
  • Faster computation of concepts and implications.
  • Added new function to decompose a concept in its irreducible components.
  • Added function to compute the canonical basis from an ImplicationSet.

fcaR 1.0.3

CRAN release: 2020-01-19

  • Changes to some C functions since they could potentially give a segfault.

fcaR 1.0.2

CRAN release: 2020-01-12

  • Made minor changes in the DESCRIPTION.

fcaR 1.0.1

  • Made changes suggested by CRAN:

    • Added examples in the documentation.
    • Changed cat() to message() in functions not related to printing.
    • Added proper contributors.
  • Updated vignettes

fcaR 1.0.0

  • Added a NEWS.md file to track changes to the package.