fpop
Segmentation using Optimal Partitioning and Function Pruning
Description
A dynamic programming algorithm for the fast segmentation of univariate signals into piecewise constant profiles. The 'fpop' package is a wrapper to a C++ implementation of the fpop (Functional Pruning Optimal Partioning) algorithm described in Maidstone et al. 2017 <doi:10.1007/s11222-016-9636-3>. The problem of detecting changepoints in an univariate sequence is formulated in terms of minimising the mean squared error over segmentations. The fpop algorithm exactly minimizes the mean squared error for a penalty linear in the number of changepoints.
Downloads
290
Last 30 days
13752nd
823
Last 90 days
4.5K
Last year
Trend: +28.3% (30d vs prior 30d)
41
Last 30 days
123
Last 90 days
425
Last year
Trend: -19.6% (30d vs prior 30d)
CRAN Check Status
Show all 13 flavors
| Flavor | Status |
|---|---|
| r-devel-linux-x86_64-debian-clang | NOTE |
| r-devel-linux-x86_64-debian-gcc | NOTE |
| r-devel-linux-x86_64-fedora-clang | NOTE |
| r-devel-linux-x86_64-fedora-gcc | NOTE |
| r-devel-windows-x86_64 | NOTE |
| r-oldrel-macos-arm64 | NOTE |
| r-oldrel-macos-x86_64 | NOTE |
| r-oldrel-windows-x86_64 | NOTE |
| r-patched-linux-x86_64 | NOTE |
| r-release-linux-x86_64 | NOTE |
| r-release-macos-arm64 | NOTE |
| r-release-macos-x86_64 | NOTE |
| r-release-windows-x86_64 | NOTE |
Check details (13 non-OK)
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Check History
NOTE 0 OK · 14 NOTE · 0 WARNING · 0 ERROR · 0 FAILURE Mar 10, 2026
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + l
...[truncated]...
_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + l
...[truncated]...
_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + l
...[truncated]...
_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + l
...[truncated]...
_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + l
...[truncated]...
_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + l
...[truncated]...
_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + l
...[truncated]...
_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + l
...[truncated]...
_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + l
...[truncated]...
_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + l
...[truncated]...
_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + l
...[truncated]...
_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + l
...[truncated]...
_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + l
...[truncated]...
_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Rd files
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:8: Lost braces; missing escapes or markup?
8 | sum_{i=1}^n (x_i-m_i)^2 + l
...[truncated]...
_i-m_i)^2 + lambda * sum_{i=1}^{n-1} I(m_i !=
| ^
checkRd: (-1) Fpop.Rd:9: Lost braces; missing escapes or markup?
9 | m_{i+1}), where the indicator function I counts the number of
| ^
Reverse Dependencies (3)
suggests
Dependency Network
Version History
1 trackedR Observatory began tracking this package on Mar 10, 2026; it first appeared on CRAN Aug 27, 2019. Releases before tracking aren’t shown.