TODO: tests, reports
[talweg.git] / pkg / R / Forecast.R
CommitLineData
3d69ff21
BA
1#' @title Forecast
2#'
3#' @description Forecast encapsulation
4#'
5#' @field pred List with
6#' \itemize{
7#' \item serie: forecasted serie
8#' \item params: corresponding list of parameters (weights, neighbors...)
9#' \item index: corresponding index in data object
10#' }
11#'
12#' @exportClass Forecast
13#' @export Forecast
14Forecast = setRefClass(
15 Class = "Forecast",
16
17 fields = list(
18 pred = "list"
19 ),
20
21 methods = list(
22 initialize = function(...)
23 {
24 "Initialize empty Forecast object"
25
26 callSuper(...)
27 },
1e20780e
BA
28 getSize = function()
29 {
30 "Number of individual forecasts"
31
32 length(pred)
33 },
3d69ff21
BA
34 append = function(new_serie, new_params, new_index)
35 {
36 "Obtain a new pair (serie, params)"
37
38 pred[[length(pred)+1]] <<- list("serie"=new_serie, "params"=new_params, "index"=new_index)
39 },
3d69ff21
BA
40 getSerie = function(index)
41 {
1e20780e 42 "Serie values at specified index"
3d69ff21
BA
43
44 pred[[index]]$serie
45 },
46 getParams = function(index)
47 {
1e20780e 48 "Params at specified index"
3d69ff21
BA
49
50 pred[[index]]$params
51 },
52 getIndexInData = function(index)
53 {
1e20780e 54 "(day) Index in data where prediction took place"
3d69ff21
BA
55
56 pred[[index]]$index
57 }
58 )
59)