X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=pkg%2FR%2FF_Average.R;h=a5e3c3e3f47504ad6986d0c5e482fb61eddc24cb;hb=2057c793ad9929ed5bef8663ea28b896c84df0fc;hp=ba0f0036441fd8c9c402d263169d3e36053cc1fc;hpb=44a9990b6d608ffcd2e99d5193fa8b9e6cbdb436;p=talweg.git diff --git a/pkg/R/F_Average.R b/pkg/R/F_Average.R index ba0f003..a5e3c3e 100644 --- a/pkg/R/F_Average.R +++ b/pkg/R/F_Average.R @@ -1,35 +1,14 @@ -#' @include Forecaster.R +#' Average Forecaster #' -#' @title Average Forecaster +#' Return the (pointwise) average of the all the (similar) centered day curves +#' in the past. Inherits \code{\link{Forecaster}} #' -#' @description Return the (pointwise) average of the all the (similar) centered day curves -#' in the past. Inherits \code{\link{Forecaster}} -AverageForecaster = setRefClass( - Class = "AverageForecaster", - contains = "Forecaster", +#' @export +AverageForecaster = R6::R6Class("AverageForecaster", + inherit = Forecaster, - methods = list( - initialize = function(...) - { - callSuper(...) - }, - predict = function(today, memory, horizon, ...) - { - predicted_shape = predictShape(today, memory, horizon, ...) - #Take care of never passing same_day==FALSE (when pjump == Persistence) - predicted_delta = - if (#as.character(substitute(pjump))=="Persistence" && #TODO: doesn't work - hasArg("same_day") && list(...)$same_day==FALSE) - { - args = list(...) - args$same_day = TRUE - do.call(pjump, append(list("today"=today,"memory"=memory,"horizon"=horizon), args)) - } - else - pjump(data, today, memory, horizon, params, ...) - predicted_shape + tail(data$getSerie(today),1) - predicted_shape[1] + predicted_delta - }, - predictShape = function(today, memory, horizon, ...) + public = list( + predictShape = function(data, today, memory, horizon, ...) { avg = rep(0., horizon) first_day = max(1, today-memory)