Ckmeans.1d.dp

Optimal, Fast, and Reproducible Univariate Clustering

Fast, optimal, and reproducible univariate clustering by dynamic programming. Four problems are solved, including univariate k-means (Wang & Song 2011) <doi:10.32614/RJ-2011-015> (Song & Zhong 2020) <doi:10.1093/bioinformatics/btaa613>, k-median, k-segments, and multi-channel weighted k-means. Dynamic programming is used to minimize the sum of (weighted) within-cluster distances using respective metrics. It substantially outperforms heuristic clustering in both efficiency and accuracy as the number of clusters increases. Multi-channel weighted k-means groups multiple univariate signals into k clusters. An auxiliary function generates histograms adaptive to patterns in data. This package provides a powerful set of tools for univariate data analysis with guaranteed optimality, efficiency, and reproducibility, useful for peak calling on temporal, spatial, and spectral data in addition to univariate clustering.

Tests Vignettes

Available Snapshots

This version of Ckmeans.1d.dp can be found in the following snapshots:

Dependencies

Imports/Depends/LinkingTo/Enhances (3)
  • Rcpp
  • Rcpp
  • Rdpack >= 0.6-1
  • Suggests (4)
  • testthat
  • knitr
  • rmarkdown
  • RColorBrewer
  • Version History