X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=pkg%2FR%2FF_Persistence.R;fp=pkg%2FR%2FF_Persistence.R;h=0000000000000000000000000000000000000000;hb=e64fcae579a969d17da0c05f02a8c67a626b9102;hp=220e04cfa9e279cff66ed47c9b505dbcbef562e9;hpb=1c74a8eca74347b98d6cf4d0e53c02687dda7422;p=talweg.git diff --git a/pkg/R/F_Persistence.R b/pkg/R/F_Persistence.R deleted file mode 100644 index 220e04c..0000000 --- a/pkg/R/F_Persistence.R +++ /dev/null @@ -1,31 +0,0 @@ -#' @include Forecaster.R -#' -#' Persistence Forecaster -#' -#' Return the last centered (similar) day curve. -#' Inherits \code{\link{Forecaster}} -PersistenceForecaster = R6::R6Class("PersistenceForecaster", - inherit = Forecaster, - - public = list( - predictShape = function(data, today, memory, horizon, ...) - { - # Return centered last (similar) day curve, avoiding NAs until memory is run - first_day = max(1, today-memory) - same_day = ifelse(hasArg("same_day"), list(...)$same_day, TRUE) - # If 'same_day', get the last known future of similar day: -7 + 1 == -6 - index = today - ifelse(same_day,6,0) - repeat - { - { - last_serie = data$getCenteredSerie(index)[1:horizon] - index = index - ifelse(same_day,7,1) - }; - if (!any(is.na(last_serie))) - return (last_serie); - if (index < first_day) - return (NA) - } - } - ) -)