Package: anticlust 0.8.7

anticlust: Subset Partitioning via Anticlustering

The method of anticlustering partitions a pool of elements into groups (i.e., anticlusters) with the goal of maximizing between-group similarity or within-group heterogeneity. The anticlustering approach thereby reverses the logic of cluster analysis that strives for high within-group homogeneity and clear separation between groups. Computationally, anticlustering is accomplished by maximizing instead of minimizing a clustering objective function, such as the intra-cluster variance (used in k-means clustering) or the sum of pairwise distances within clusters. The main function anticlustering() gives access to optimal and heuristic anticlustering methods described in Papenberg and Klau (2021; <doi:10.1037/met0000301>), Brusco et al. (2020; <doi:10.1111/bmsp.12186>), and Papenberg (2024; <doi:10.1111/bmsp.12315>). The optimal algorithms require that an integer linear programming solver is installed. This package will install 'lpSolve' (<https://cran.r-project.org/package=lpSolve>) as a default solver, but it is also possible to use the package 'Rglpk' (<https://cran.r-project.org/package=Rglpk>), which requires the GNU linear programming kit (<https://www.gnu.org/software/glpk/glpk.html>), or the package 'Rsymphony' (<https://cran.r-project.org/package=Rsymphony>), which requires the SYMPHONY ILP solver (<https://github.com/coin-or/SYMPHONY>). 'Rglpk' and 'Rsymphony' have to be manually installed by the user because they are only "suggested" dependencies. Full access to the bicriterion anticlustering method proposed by Brusco et al. (2020) is given via the function bicriterion_anticlustering(), while kplus_anticlustering() implements the full functionality of the k-plus anticlustering approach proposed by Papenberg (2024). Some other functions are available to solve classical clustering problems. The function balanced_clustering() applies a cluster analysis under size constraints, i.e., creates equal-sized clusters. The function matching() can be used for (unrestricted, bipartite, or K-partite) matching. The function wce() can be used optimally solve the (weighted) cluster editing problem, also known as correlation clustering, clique partitioning problem or transitivity clustering.

Authors:Martin Papenberg [aut, cre], Meik Michalke [ctb], Gunnar W. Klau [ths], Juliane V. Nagel [ctb], Martin Breuer [ctb], Marie L. Schaper [ctb], Max Diekhoff [ctb]

anticlust_0.8.7.tar.gz
anticlust_0.8.7.zip(r-4.5)anticlust_0.8.7.zip(r-4.4)anticlust_0.8.7.zip(r-4.3)
anticlust_0.8.7.tgz(r-4.4-x86_64)anticlust_0.8.7.tgz(r-4.4-arm64)anticlust_0.8.7.tgz(r-4.3-x86_64)anticlust_0.8.7.tgz(r-4.3-arm64)
anticlust_0.8.7.tar.gz(r-4.5-noble)anticlust_0.8.7.tar.gz(r-4.4-noble)
anticlust_0.8.7.tgz(r-4.4-emscripten)anticlust_0.8.7.tgz(r-4.3-emscripten)
anticlust.pdf |anticlust.html
anticlust/json (API)

# Install 'anticlust' in R:
install.packages('anticlust', repos = c('https://m-py.r-universe.dev', 'https://cloud.r-project.org'))

Peer review:

Bug tracker:https://github.com/m-py/anticlust/issues

Pkgdown:https://m-py.github.io

Datasets:

On CRAN:

9.21 score 29 stars 2 packages 59 scripts 1.1k downloads 21 exports 4 dependencies

Last updated 2 months agofrom:45715520c9. Checks:OK: 9. Indexed: yes.

TargetResultDate
Doc / VignettesOKNov 27 2024
R-4.5-win-x86_64OKNov 27 2024
R-4.5-linux-x86_64OKNov 27 2024
R-4.4-win-x86_64OKNov 27 2024
R-4.4-mac-x86_64OKNov 27 2024
R-4.4-mac-aarch64OKNov 27 2024
R-4.3-win-x86_64OKNov 27 2024
R-4.3-mac-x86_64OKNov 27 2024
R-4.3-mac-aarch64OKNov 27 2024

Exports:anticlusteringbalanced_clusteringbicriterion_anticlusteringcategorical_samplingcategories_to_binarydispersion_objectivediversity_objectivefast_anticlusteringgenerate_exchange_partnersgenerate_partitionskplus_anticlusteringkplus_moment_variablesmatchingmean_sd_tabn_partitionsoptimal_anticlusteringoptimal_dispersionplot_clustersplot_similarityvariance_objectivewce

Dependencies:latticelpSolveMatrixRANN

Some best practices for anticlustering

Rendered fromBest_practices.Rmdusingknitr::rmarkdownon Nov 27 2024.

Last update: 2024-09-30
Started: 2023-06-29

Speeding up anticlustering

Rendered fromSpeeding_up_anticlustering.Rmdusingknitr::rmarkdownon Nov 27 2024.

Last update: 2024-04-24
Started: 2023-06-13

Using categorical variables with anticlustering

Rendered fromCategorical_vars.Rmdusingknitr::rmarkdownon Nov 27 2024.

Last update: 2024-10-01
Started: 2023-06-23

Using the R package anticlust for stimulus selection in experiments

Rendered fromstimulus-selection.Rmdusingknitr::rmarkdownon Nov 27 2024.

Last update: 2023-10-25
Started: 2019-11-14