add realtime option, slightly refactor data acquisition
[talweg.git] / pkg / R / J_Neighbors.R
index 7ca0003..351fbf9 100644 (file)
@@ -9,12 +9,13 @@ getNeighborsJumpPredict = function(data, today, memory, horizon, params, ...)
        filter = (params$indices >= first_day)
        indices = params$indices[filter]
        weights = params$weights[filter]
+       realtime = ifelse(hasArg("realtime"), list(...)$realtime, FALSE)
 
        if (any(is.na(weights) | is.na(indices)))
                return (NA)
 
        gaps = sapply(indices, function(i) {
-               data$getSerie(i+1)[1] - tail(data$getSerie(i), 1)
+               data$getSerie(i+1,hat=(realtime && i+1==today))[1] - tail(data$getSerie(i), 1)
        })
        scal_product = weights * gaps
        norm_fact = sum( weights[!is.na(scal_product)] )