R package implementing multiple variable clustering algorithms (numeric, categorical, mixed), with an R6-based architecture, interpretability tools, and an interactive Shiny app.
mmrClustVar is an academic R package developed as part of the Master 2 SISE (Statistics & Computer Science for Data Science) at Université Lyon 2.
It provides:
- k-means (numeric)
- k-modes (categorical)
- k-prototypes (mixed)
- k-medoids (general)
- Automatic/assisted selection of K
- Interpretability tools (inertia, adhesion, profiles)
- Shiny application for exploration
- Full export functionalities
mmrClustVar/
├── DESCRIPTION
├── NAMESPACE
├── R/
│ ├── Interface.R
│ ├── ClusterBase.R
│ ├── Kmeans.R
│ ├── Kmodes.R
│ ├── Kprototypes.R
│ ├── Kmedoids.R
│ ├── run_app.R
│ └── metal_universe.R
├── inst/shiny/mmrClustVar_app/
├── data/
├── data-raw/prepare_datasets.R
└── README.md
# install remotes if not already installed
install.packages("remotes")
# install directly from GitHub
remotes::install_github("rsquaredata/mmrClustVar")
# import library
library(mmrClustVar)df <- iris[,1:4]
obj <- Kmeans$new(
K=3,
scale=TRUE
)
obj$fit(df)obj$summary()obj$get_clusters()
obj$get_centers()
obj$get_inertia()obj$predict(df[,1,drop=FALSE])obj$plot("clusters")
obj$plot("inertia")
obj$plot("membership")
obj$plot("profiles")obj$compute_inertia_path(K_seq=2:6, X=df)
obj$plot("inertia")run_mmrClustVar_app()Features:
- Import datasets or upload CSV/XLSX
- Select active/supplementary variables
- All algorithms available
- Diagnostics + plots
- Export clusters, summary, full ZIP bundle
-
Chavent et al. (2012), ClustOfVar: An R Package for the Clustering of Variables.
https://arxiv.org/pdf/1112.0295 -
Husson, Josse & Pagès (2017), Exploratory Multivariate Analysis by Example using R.
http://staff.ustc.edu.cn/~ynyang/vector/books/Husson-Le-Pages.pdf -
MacQueen (1967), Some methods for classification and analysis of multivariate observations.
https://www.cs.cmu.edu/~bhiksha/courses/mlsp.fall2010/class14/macqueen.pdf -
Huang (1998), Extensions to k-means for categorical values.
https://cse.hkust.edu.hk/~qyang/Teaching/537/Papers/huang98extensions.pdf -
Kaufman & Rousseeuw (2005), Finding Groups in Data.
https://www.researchgate.net/publication/220695963_Finding_Groups_in_Data -
Rakotomalala (2025), R programming & classification lectures.
https://tutoriels-data-science.blogspot.com/ -
R Core Team (2025), R Language.
https://www.r-project.org/ -
Chang (2025), R6: Encapsulated object-oriented programming for R.
https://r6.r-lib.org
- Marin Nagy
- Mazilda Zehraoui
- Rina Razafimahefa
MIT License