The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Welcome to rupturesRcpp

R-CMD-check Maintenance rupturesRcpp status badge CRAN Version CRAN Downloads codecov

rupturesRcpp is an R package for high-performance offline change-point detection in multivariate time series. It provides a unified, object-oriented R6 interface to change-point detection methods implemented efficiently in C++. It is inspired by the highly popular Python library ruptures.

The package detects changes in the underlying structure of a time series, including changes in mean, covariance, autoregressive dynamics, and regression relationships with covariates. It supports a range of cost functions, and segmentation algorithms, from fast heuristic methods to exact dynamic-programming and penalised optimisation methods.

Documentation and case studies are available on the package website. See Getting started for the differences between the two versions and a first detection.

Supported Methods

Cost Functions

Cost function Detects changes in
"L1", "L2" Mean structure; "L1" provides greater robustness to outliers
"SIGMA" Mean and covariance structure
"VAR" Vector autoregressive dynamics
"LinearL2", "LinearL1" Linear regression relationships with covariates; "LinearL1" provides greater robustness to outliers
"LinearSIGMA" Regression relationships and residual covariance
"Custom" User-defined structural changes through an R cost function

Segmentation Methods

Method Search strategy
binSeg Binary segmentation; a fast greedy search
Window Sliding-window search based on local changes
PELT Penalised optimisation with pruning
Dynp Dynamic programming for a specified number of change-points

Installation

# Development version, documented on the package website
install.packages("rupturesRcpp",
                 repos = c("https://edelweiss611428.r-universe.dev",
                           "https://cloud.r-project.org"))

# CRAN release (1.0.3)
install.packages("rupturesRcpp")

Acknowledgement

The package was developed during Google Summer of Code 2025 for The R Project for Statistical Computing by @edelweiss611428, under the mentorship of @tdhock and @deepcharles. The original GSoC project archive is available on the gsoc-2025 branch.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.