projects
/
talweg.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixes and improvements
[talweg.git]
/
R
/
S_Average.R
diff --git
a/R/S_Average.R
b/R/S_Average.R
index
9694693
..
819531d
100644
(file)
--- a/
R/S_Average.R
+++ b/
R/S_Average.R
@@
-2,8
+2,8
@@
#'
#' @title Average Shape Forecaster
#'
#'
#' @title Average Shape Forecaster
#'
-#' @description Return the (pointwise) average of the all the
centered day curves in the past.
-#' Inherits \code{\link{ShapeForecaster}}
+#' @description Return the (pointwise) average of the all the
(similar) centered day curves
+#'
in the past.
Inherits \code{\link{ShapeForecaster}}
AverageShapeForecaster = setRefClass(
Class = "AverageShapeForecaster",
contains = "ShapeForecaster",
AverageShapeForecaster = setRefClass(
Class = "AverageShapeForecaster",
contains = "ShapeForecaster",
@@
-16,12
+16,24
@@
AverageShapeForecaster = setRefClass(
predict = function(today, memory, horizon, ...)
{
avg = rep(0., horizon)
predict = function(today, memory, horizon, ...)
{
avg = rep(0., horizon)
- for (i in (today-memory):today)
+ first_day = max(1, today-memory)
+ index = today-7 + 1
+ nb_no_na_series = 0
+ repeat
{
{
- if (!any(is.na(data$getSerie(i))))
- avg = avg + data$getCenteredSerie(i)
+ {
+ serie_on_horizon = data$getCenteredSerie(index)[1:horizon]
+ index = index - 7
+ };
+ if (!any(is.na(serie_on_horizon)))
+ {
+ avg = avg + serie_on_horizon
+ nb_no_na_series = nb_no_na_series + 1
+ };
+ if (index < first_day)
+ break
}
}
- avg
+ avg
/ nb_no_na_series
}
)
)
}
)
)