X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=pkg%2FR%2FF_Neighbors.R;h=51b57304347c66faeb90528fa15428a5ec3b726b;hb=689aa1d3c58e8b1e9fdfa9b895ca38c7228f56cc;hp=ffb068f9f248eec2e02aad151ed5b7dc2d460213;hpb=3ddf1c12af0c167fe7d3bb59e63258550270cfc5;p=talweg.git diff --git a/pkg/R/F_Neighbors.R b/pkg/R/F_Neighbors.R index ffb068f..51b5730 100644 --- a/pkg/R/F_Neighbors.R +++ b/pkg/R/F_Neighbors.R @@ -28,6 +28,8 @@ #' obtain the final prediction. #' } #' +#' @usage f <- NeighborsForecaster$new(pjump) +#' #' @docType class #' @format R6 class, inherits Forecaster #' @aliases F_Neighbors @@ -216,31 +218,16 @@ NeighborsForecaster = R6::R6Class("NeighborsForecaster", ) ) -#' getNoNA2 -#' -#' Get indices in data of no-NA series followed by no-NA, within [first,last] range. -#' -#' @inheritParams dateIndexToInteger -#' @param first First index (included) -#' @param last Last index (included) -#' -.getNoNA2 = function(data, first, last) -{ - (first:last)[ sapply(first:last, function(i) - !any( is.na(data$getCenteredSerie(i)) | is.na(data$getCenteredSerie(i+1)) ) - ) ] -} - -#' getConstrainedNeighbs -#' -#' Get indices of neighbors of similar pollution level (among same season + day type). -#' -#' @param today Index of current day -#' @param data Object of class Data -#' @param fdays Current set of "first days" (no-NA pairs) -#' @param min_neighbs Minimum number of points in a neighborhood -#' @param max_neighbs Maximum number of points in a neighborhood -#' +# getConstrainedNeighbs +# +# Get indices of neighbors of similar pollution level (among same season + day type). +# +# @param today Index of current day +# @param data Object of class Data +# @param fdays Current set of "first days" (no-NA pairs) +# @param min_neighbs Minimum number of points in a neighborhood +# @param max_neighbs Maximum number of points in a neighborhood +# .getConstrainedNeighbs = function(today, data, fdays, min_neighbs=10, max_neighbs=12) { levelToday = data$getLevel(today) @@ -264,16 +251,16 @@ NeighborsForecaster = R6::R6Class("NeighborsForecaster", fdays = fdays[ sort(distances[same_pollution],index.return=TRUE)$ix[1:max_neighbs] ] } - fdsays + fdays } -#' compute similarities -#' -#' Apply the gaussian kernel on computed squared distances. -#' -#' @param distances2 Squared distances -#' @param window Window parameter for the kernel -#' +# compute similarities +# +# Apply the gaussian kernel on computed squared distances. +# +# @param distances2 Squared distances +# @param window Window parameter for the kernel +# .computeSimils <- function(distances2, window) { sd_dist = sd(distances2)