rename pkg --> talweg
[talweg.git] / talweg / R / J_Persistence.R
diff --git a/talweg/R/J_Persistence.R b/talweg/R/J_Persistence.R
new file mode 100644 (file)
index 0000000..7a7daef
--- /dev/null
@@ -0,0 +1,23 @@
+#' Obtain jump forecast by the Persistence method
+#'
+#' @inheritParams computeForecast
+#' @inheritParams getZeroJumpPredict
+getPersistenceJumpPredict = function(data, today, memory, horizon, params, ...)
+{
+       #return gap between end of similar day curve and first day of tomorrow (in the past)
+       first_day = max(1, today-memory)
+       same_day = ifelse(hasArg("same_day"), list(...)$same_day, TRUE)
+       index = today - ifelse(same_day,7,1)
+       repeat
+       {
+               {
+                       last_serie_end = tail( data$getSerie(index), 1)
+                       last_tomorrow_begin = data$getSerie(index+1)[1]
+                       index = index - ifelse(same_day,7,1)
+               };
+               if (!is.na(last_serie_end) && !is.na(last_tomorrow_begin))
+                       return (last_tomorrow_begin - last_serie_end);
+               if (index < first_day)
+                       return (NA)
+       }
+}