bfast2 / bfast2/strucchangeRcpp
breakpoints(): Better handling of time
- Dominant language
- R
- Stars
- 6
- Forks
- 5
- PR merge metrics
- No merged PRs in 30d
Description
At the moment, the time attribute in breakpoints() gets lost most of the time, leading to output such as:
```r
Optimal 2-segment partition:
Call:
breakpoints.matrix(X = X, y = y, h = h, breaks = breaks, hpc = hpc)
Breakpoints at observation number:
104
Corresponding to breakdates:
0.4521739
```
This is not useful, as the breakdates should actually tell you which year and day the break happened, rather than in which part of the time series it happened (that's already given by the observation number).
It works properly if the input is a `ts` object, since then `datatsp` is preserved. However, it is rare to run `breakpoints()` over a `ts` rather than a `bfastpp()` `data.frame`. The latter contains time as a column, which should then be preserved.
I propose to handle time better and different from the other covariates in X. If the input is `ts`, then decompose its input into year fractions as per `bfastpp`. If the input is a `data.frame`, make use of the `time` column. Add a `time` element to the result that holds the timestamps, either as POSIXct or year fractions.
This is a prerequisite to better plotting of `breakpoints()` diagnostics, as as it is it is impossible to plot the time series with correct labels, or to put the breakpoint at a particular time.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.