X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=pkg%2FR%2FF_Average.R;h=7ec4e9005e3f2583ea837f181290624a18c34bc3;hb=98e958cab563866f8e00886b54336018a2e8bc97;hp=ba0f0036441fd8c9c402d263169d3e36053cc1fc;hpb=44a9990b6d608ffcd2e99d5193fa8b9e6cbdb436;p=talweg.git diff --git a/pkg/R/F_Average.R b/pkg/R/F_Average.R index ba0f003..7ec4e90 100644 --- a/pkg/R/F_Average.R +++ b/pkg/R/F_Average.R @@ -1,35 +1,14 @@ #' @include Forecaster.R #' -#' @title Average Forecaster +#' Average 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", +#' Return the (pointwise) average of the all the (similar) centered day curves +#' in the past. Inherits \code{\link{Forecaster}} +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)