circlus is an R package for the estimation and clustering of spherical data, seamlessly integrated with the flexmix package. It includes the necessary M-step implementations for both Poisson Kernel-Based Distribution (PKBD) and spherical Cauchy distribution, and provides random number generators for both distributions.
- Clustering: Supports clustering with spherical Cauchy and PKBD models.
- Random Number Generation: Tools for generating random numbers from PKBD and spherical Cauchy distributions.
- Integration with
flexmix: Easily integrates with theflexmixpackage to support flexible, model-based clustering workflows.
You can install the latest release of circlus from CRAN:
install.packages("circlus")Or install the development version from GitHub:
# install.packages("devtools")
devtools::install_github("lsablica/circlus")Load the circlus package and explore its core functionalities:
library(circlus)For a full list of functions and their usage, refer to the circlus reference manual.
circlus requires:
- R (≥ 3.1.0)
Rcpp(≥ 0.12.18)Tinflex(≥ 1.8)flexmixtorchmethods
It also links to Rcpp and RcppArmadillo.
circlus is licensed under the GPL-3 license.
If you use circlus in your research, please cite the following paper:
@article{,
author = {Lukas Sablica and Kurt Hornik and Bettina Gr{\"u}n},
title = {circlus: An {R} Package for Circular and Spherical
Clustering Using {Poisson} Kernel-Based and Spherical
{Cauchy} Distribution},
journal = {Austrian Journal of Statistics},
year = 2025,
volume = 54,
number = 3,
pages = {27--42},
doi = {10.17713/ajs.v54i3.2061}
}