'update'
[talweg.git] / pkg / R / J_Neighbors.R
index 7f66830..ceea803 100644 (file)
 #'
 #' @aliases J_Neighbors
 #'
-getNeighborsJumpPredict = function(data, today, memory, horizon, params, ...)
+getNeighborsJumpPredict = function(data, today, memory, predict_from, horizon,
+       params, ...)
 {
        first_day = max(1, today-memory)
        filter = (params$indices >= first_day)
        indices = params$indices[filter]
        weights = params$weights[filter]
 
-       if (any(is.na(weights) | is.na(indices)))
+       if (is.na(indices[1]))
                return (NA)
 
        gaps = sapply(indices, function(i) {
-               head( data$getSerie(i+1), 1) - tail( data$getSerie(i), 1)
+               if (predict_from >= 2)
+                       data$getSerie(i)[predict_from] - data$getSerie(i)[predict_from-1]
+               else
+                       head(data$getSerie(i),1) - tail(data$getSerie(i-1),1)
        })
        scal_product = weights * gaps
        norm_fact = sum( weights[!is.na(scal_product)] )