X-Git-Url: https://git.auder.net/pieces/Checkered/cq.svg?a=blobdiff_plain;f=pkg%2FR%2FData.R;h=4e16805fa85f2b190b767f0d44d2f2c1de4f5a88;hb=f17665c7d3da672163779da686d9f4d1ebad31f9;hp=9b7db3f766c4cdc07e2c3a95882ce34342920f34;hpb=469529710f56c790ae932b45d13fed2e34bcabf2;p=talweg.git diff --git a/pkg/R/Data.R b/pkg/R/Data.R index 9b7db3f..4e16805 100644 --- a/pkg/R/Data.R +++ b/pkg/R/Data.R @@ -1,30 +1,27 @@ -#' @title Data +#' Data #' -#' @description Data encapsulation +#' Data encapsulation #' #' @field data List of #' \itemize{ #' \item time: vector of times #' \item serie: centered series #' \item level: corresponding levels +#' \item exo: exogenous variables #' \item exo_hat: predicted exogenous variables -#' \item exo_Dm1: List of measured exogenous variables at day minus 1 #' } #' -#' @exportClass Data -#' @export Data -Data = setRefClass( - Class = "Data", - - fields = list( - data = "list" - ), - - methods = list( +#' @docType class +#' @importFrom R6 R6Class +#' +#' @export +Data = R6Class("Data", + public = list( + data = "list", initialize = function(...) { "Initialize empty Data object" - +#TODO: continue from here callSuper(...) }, getSize = function() @@ -37,61 +34,56 @@ Data = setRefClass( { "'Standard' horizon, from t+1 to midnight" - L1 = length(data[[1]]$serie) - L2 = length(data[[2]]$serie) - if (L1 < L2) - L2 - L1 - else - L1 + 24 - as.POSIXlt( data[[1]]$time[1] )$hour + 1 }, - append = function(new_time, new_serie, new_level, new_exo_hat, new_exo_Dm1) + append = function(new_time, new_serie, new_level, new_exo_hat, new_exo) { - "Acquire a new vector of lists (time, serie, level, exo_hat, exo_Dm1)" + "Acquire a new vector of lists (time, serie, level, exo_hat, exo)" data[[length(data)+1]] <<- list("time"=new_time,"serie"=new_serie,"level"=new_level, - "exo_hat"=new_exo_hat,"exo_Dm1"=new_exo_Dm1) + "exo_hat"=new_exo_hat,"exo"=new_exo) }, getTime = function(index) { - "Get time values at specified index" + "Time values at specified index" index = dateIndexToInteger(index, .self) data[[index]]$time }, getCenteredSerie = function(index) { - "Get serie values (centered) at specified index" + "Serie values (centered) at specified index" index = dateIndexToInteger(index, .self) data[[index]]$serie }, getLevel = function(index) { - "Get level for the serie at specified index" + "Level of the serie at specified index" index = dateIndexToInteger(index, .self) data[[index]]$level }, getSerie = function(index) { - "Get serie values (centered+level) at specified index" + "Serie values (centered+level) at specified index" index = dateIndexToInteger(index, .self) data[[index]]$serie + data[[index]]$level }, getExoHat = function(index) { - "Get exogeous predictions at specified index" + "Exogeous predictions at specified index" index = dateIndexToInteger(index, .self) data[[index]]$exo_hat }, - getExoDm1 = function(index) + getExo = function(index) { - "Get exogenous measures the day before specified index" + "Exogenous measures at specified index" index = dateIndexToInteger(index, .self) - data[[index]]$exo_Dm1 + data[[index]]$exo } ) )