From 11a52de2fc4afcaa5b0a7c9eb6d5a9d5e8bf3b84 Mon Sep 17 00:00:00 2001 From: aho Date: Wed, 30 Oct 2019 18:49:01 +0100 Subject: [PATCH 1/2] Change transform_extra_cells default to 2. Solve Start() interpolation border problem --- R/Start.R | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/R/Start.R b/R/Start.R index 21def44..7054aab 100644 --- a/R/Start.R +++ b/R/Start.R @@ -14,7 +14,7 @@ Start <- function(..., # dim = indices/selectors, transform = NULL, transform_params = NULL, transform_vars = NULL, - transform_extra_cells = 0, + transform_extra_cells = 2, apply_indices_after_transform = FALSE, pattern_dims = NULL, metadata_dims = NULL, @@ -2033,9 +2033,14 @@ print("-> SELECTORS REQUESTED BEFORE TRANSFORM.") } first_index <- min(unlist(sub_array_of_indices)) last_index <- max(unlist(sub_array_of_indices)) - start_padding <- min(beta, first_index - 1) - end_padding <- min(beta, n - last_index) - sub_array_of_fri <- (first_index - start_padding):(last_index + end_padding) + if (first_index - beta <= 0 | last_index + beta > n) { + sub_array_of_fri <- 1:n + } else { + sub_array_of_fri <- (first_index - beta):(last_index + beta) + } + #start_padding <- min(beta, first_index - 1) + #end_padding <- min(beta, n - last_index) + #sub_array_of_fri <- (first_index - start_padding):(last_index + end_padding) } subset_vars_to_transform <- vars_to_transform if (!is.null(var_ordered)) { -- GitLab From b90fd3c794002d7fc112f1a9d421392bbd2bb2f1 Mon Sep 17 00:00:00 2001 From: aho Date: Thu, 31 Oct 2019 14:26:04 +0100 Subject: [PATCH 2/2] Add warning when 'transform_extra_cells' excesses the grid index --- R/Start.R | 3 +++ 1 file changed, 3 insertions(+) diff --git a/R/Start.R b/R/Start.R index 7054aab..bd76964 100644 --- a/R/Start.R +++ b/R/Start.R @@ -2035,6 +2035,9 @@ print("-> SELECTORS REQUESTED BEFORE TRANSFORM.") last_index <- max(unlist(sub_array_of_indices)) if (first_index - beta <= 0 | last_index + beta > n) { sub_array_of_fri <- 1:n + .warning(paste0("Adding the parameter transform_extra_cells = ", + transform_extra_cells, " to the transformed index excesses " + "the border. Use the whole index instead.")) } else { sub_array_of_fri <- (first_index - beta):(last_index + beta) } -- GitLab