'update'
[talweg.git] / pkg / R / utils.R
index 3124881..3f32868 100644 (file)
@@ -68,11 +68,11 @@ getSimilarDaysIndices = function(index, data, limit, same_season, days_in=NULL)
        index = dateIndexToInteger(index, data)
 
        # Look for similar days (optionally in same season)
-       i = index - 1
        days = c()
        dt_ref = as.POSIXlt(data$getTime(index)[1]) #first date-time of current day
        day_ref = dt_ref$wday #1=monday, ..., 6=saturday, 0=sunday
        month_ref = as.POSIXlt(data$getTime(index)[1])$mon+1 #month in 1...12
+       i = index - 1
        while (i >= 1 && length(days) < limit)
        {
                dt = as.POSIXlt(data$getTime(i)[1])
@@ -111,10 +111,8 @@ getSimilarDaysIndices = function(index, data, limit, same_season, days_in=NULL)
 #
 .isSameDay = function(day, day_ref)
 {
-       if (day_ref == 0)
-               return (day==0)
-       if (day_ref <= 4)
-               return (day <= 4)
+       if (day_ref %in% 1:4)
+               return (day %in% 1:4)
        return (day == day_ref)
 }
 
@@ -126,8 +124,7 @@ getSimilarDaysIndices = function(index, data, limit, same_season, days_in=NULL)
 #' @param first First index (included)
 #' @param last Last index (included)
 #'
-#' @export
-getNoNA2 = function(data, first, last)
+.getNoNA2 = function(data, first, last)
 {
        (first:last)[ sapply(first:last, function(i)
                !any( is.na(data$getCenteredSerie(i)) | is.na(data$getCenteredSerie(i+1)) )