7 #' \item time: vector of times
8 #' \item serie: centered series
9 #' \item level: corresponding levels
10 #' \item exo: exogenous variables
11 #' \item exo_hat: predicted exogenous variables
15 #' @importFrom R6 R6Class
18 Data = R6Class("Data",
23 initialize = function(...)
24 initialize(self, private, ...)
29 getStdHorizon = function()
30 getStdHorizon(private)
32 append = function(new_time, new_centered_serie, new_level, new_exo, new_exo_hat)
33 append(private, new_time, new_centered_serie, new_level, new_exo, new_exo_hat)
35 getTime = function(index)
36 getTime(self, private, index)
38 getCenteredSerie = function(index)
39 getCenteredSerie(self, private, index)
41 getLevel = function(index)
42 getLevel(self, private, index)
44 getSerie = function(index)
45 getSerie(self, private, index)
47 getExo = function(index)
48 getExo(self, private, index)
50 getExoHat = function(index)
51 getExoHat(self, private, index)
55 ##TODO: @param... @inheritParams...
57 #' Initialize empty Data object
58 initialize = function(o, private, ...)
60 private$.data <<- if (hasArg("data")) list(...)$data else list()
64 #' Number of series in the dataset
65 getSize = function(private)
68 #' 'Standard' horizon, from t+1 to midnight
69 getStdHorizon = function(private)
70 24 - as.POSIXlt( private$.data[[1]]$time[1] )$hour + 1
72 #' Acquire a new vector of lists (time, centered_serie, level, exo, exo_hat)
73 append = function(private, new_time, new_centered_serie, new_level, new_exo_hat, new_exo)
75 private$.data[[length(private$.data)+1]] <<- list("time"=new_time,
76 "centered_serie"=new_centered_serie,"level"=new_level,"exo"=new_exo,"exo_hat"=new_exo_hat)
79 #' Time values at specified index
80 getTime = function(o, private, index)
82 index = dateIndexToInteger(index, o)
83 private$.data[[index]]$time
86 #' Centered serie values at specified index
87 getCenteredSerie = function(o, private, index)
89 index = dateIndexToInteger(index, o)
90 private$.data[[index]]$serie
93 #' Level of the serie at specified index
94 getCenteredSerie = function(o, private, index)
96 index = dateIndexToInteger(index, o)
97 private$.data[[index]]$level
100 #' Serie values (centered+level) at specified index
101 getCenteredSerie = function(o, private, index)
103 index = dateIndexToInteger(index, o)
104 private$.data[[index]]$serie + data[[index]]$level
107 #' Exogenous measures at specified index
108 getCenteredSerie = function(o, private, index)
110 index = dateIndexToInteger(index, o)
111 private$.data[[index]]$exo
114 #' Exogeous predictions at specified index
115 getCenteredSerie = function(o, private, index)
117 index = dateIndexToInteger(index, o)
118 private$.data[[index]]$exo_hat