X-Git-Url: https://git.auder.net/?p=talweg.git;a=blobdiff_plain;f=R%2FJ_Persistence.R;h=8ac597c3f17acc4ee3cfaa9003b646630e748be4;hp=744b42a7ca0b8f2a1b72193d2ed28db4d36a27f4;hb=e5aa669afc0b71278d1a864fb0d4e2aff8032ef1;hpb=e030a6e31232332b73187eda25870e843152c174 diff --git a/R/J_Persistence.R b/R/J_Persistence.R index 744b42a..8ac597c 100644 --- a/R/J_Persistence.R +++ b/R/J_Persistence.R @@ -6,16 +6,17 @@ 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) - index = today-7 + same_day = ifelse(hasArg("same_day"), list(...)$same_day, TRUE) + index = today - ifelse(same_day,7,1) repeat { { - last_similar_serie_end = tail( data$getCenteredSerie(index), 1) - last_similar_tomorrow_begin = data$getCenteredSerie(index+1)[1] - index = index - 7 + 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_similar_serie_end) && !is.na(last_similar_tomorrow_begin)) - return (last_similar_tomorrow_begin - last_similar_serie_end); + if (!is.na(last_serie_end) && !is.na(last_tomorrow_begin)) + return (last_tomorrow_begin - last_serie_end); if (index < first_day) return (NA) }