fcaR, Formal Concept Analysis with R

Formal concept analysis (FCA) is a solid mathematical framework to manage information based on logic and lattice theory. It defines two explicit representations of the knowledge present in a dataset as concepts and implications. This paper describes an R package called fcaR that implements FCA’s core notions and techniques. Additionally, it implements the extension of FCA to fuzzy datasets and a simplification logic to develop automated reasoning tools. This package is the first to implement FCA techniques in R. Therefore, emphasis has been put on defining classes and methods that could be reusable and extensible by the community. Furthermore, the package incorporates an interface with the arules package, probably the most used package regarding association rules, closely related to FCA. Finally, we show an application of the use of the package to design a recommender system based on logic for diagnosis in neurological pathologies.

Pablo Cordero (Universidad de Málaga) , Manuel Enciso (Universidad de Málaga) , Domingo López-Rodríguez (Universidad de Málaga) , Ángel Mora (Universidad de Málaga)
2022-06-21

Supplementary materials

Supplementary materials are available in addition to this article. It can be downloaded at RJ-2022-014.zip

References

Reuse

Text and figures are licensed under Creative Commons Attribution CC BY 4.0. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".

Citation

For attribution, please cite this work as

Cordero, et al., "The R Journal: fcaR, Formal Concept Analysis with R", The R Journal, 2022

BibTeX citation

@article{RJ-2022-014,
  author = {Cordero, Pablo and Enciso, Manuel and López-Rodríguez, Domingo and Mora, Ángel},
  title = {The R Journal: fcaR, Formal Concept Analysis with R},
  journal = {The R Journal},
  year = {2022},
  note = {https://doi.org/10.32614/RJ-2022-014},
  doi = {10.32614/RJ-2022-014},
  volume = {14},
  issue = {1},
  issn = {2073-4859},
  pages = {341-361}
}