|
@@ -1,33 +0,0 @@
|
|
|
-#' Get layers to overlay significant changepoints on prophet forecast plot.
|
|
|
-#'
|
|
|
-#' @param m Prophet model object.
|
|
|
-#' @param threshold Numeric, changepoints where abs(delta) >= threshold are
|
|
|
-#' significant. (Default 0.01)
|
|
|
-#' @param cp_color Character, line color. (Default "red")
|
|
|
-#' @param cp_linetype Character or integer, line type. (Default "dashed")
|
|
|
-#' @param trend Logical, if FALSE, do not draw trend line. (Default TRUE)
|
|
|
-#' @param ... Other arguments passed on to layers.
|
|
|
-#'
|
|
|
-#' @return A list of ggplot2 layers.
|
|
|
-#'
|
|
|
-#' @examples
|
|
|
-#' \dontrun{
|
|
|
-#' plot(m, fcst) + layer_changepoints(m)
|
|
|
-#' }
|
|
|
-#'
|
|
|
-#' @export
|
|
|
-layer_changepoints <- function(m, threshold = 0.01, cp_color = "red",
|
|
|
- cp_linetype = "dashed", trend = TRUE, ...) {
|
|
|
- layers <- list()
|
|
|
- if (trend) {
|
|
|
- trend_layer <- ggplot2::geom_line(
|
|
|
- ggplot2::aes_string("ds", "trend"), color = cp_color, ...)
|
|
|
- layers <- append(layers, trend_layer)
|
|
|
- }
|
|
|
- signif_changepoints <- m$changepoints[abs(m$params$delta) >= threshold]
|
|
|
- cp_layer <- ggplot2::geom_vline(
|
|
|
- xintercept = as.integer(signif_changepoints), color = cp_color,
|
|
|
- linetype = cp_linetype, ...)
|
|
|
- layers <- append(layers, cp_layer)
|
|
|
- return(layers)
|
|
|
-}
|