From c056397ca2b36717c02a06ff2316c6602c878f7e Mon Sep 17 00:00:00 2001 From: Dorchies David <david.dorchies@inrae.fr> Date: Thu, 24 Jun 2021 12:36:23 +0200 Subject: [PATCH] fix(ErroCrit_GAPX): parameter range of 20 instead of 40 - also add a test on a priori parameter set with NA Refs #111 --- R/CreateErrorCrit_GAPX.R | 2 +- tests/testthat/test-CreateErrorCrit_GAPX.R | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/R/CreateErrorCrit_GAPX.R b/R/CreateErrorCrit_GAPX.R index 706c407a..33b424fa 100644 --- a/R/CreateErrorCrit_GAPX.R +++ b/R/CreateErrorCrit_GAPX.R @@ -18,7 +18,7 @@ CreateErrorCrit_GAPX <- function(FUN_TRANSFO) { ParamOpt <- EC$VarSim[!EC$TS_ignore] ## ErrorCrit - Crit <- 1 - sum(((ParamApr - ParamOpt) / 40)^2)^0.5 + Crit <- 1 - sum(((ParamApr - ParamOpt) / 20)^2)^0.5 if (is.numeric(Crit) & is.finite(Crit)) { CritValue <- Crit diff --git a/tests/testthat/test-CreateErrorCrit_GAPX.R b/tests/testthat/test-CreateErrorCrit_GAPX.R index 60ad4fe6..3b41c843 100644 --- a/tests/testthat/test-CreateErrorCrit_GAPX.R +++ b/tests/testthat/test-CreateErrorCrit_GAPX.R @@ -28,5 +28,16 @@ test_that("ErrorCrit should return 1 for same parameters", { test_that("ErrorCrit should return 1-nbParam^0.5/40 for ParamT shifted by 1", { ParamT <- ParamT + 1 IC <- CreateInputsCrit(ErrorCrit_GAPX, InputsModel, RunOptions, Obs = ParamT, VarObs = "ParamT") - expect_equal(ErrorCrit_GAPX(IC, OutputsModel)$CritValue, 1 - RunOptions$FeatFUN_MOD$NbParam^0.5 / 40) + expect_equal(ErrorCrit_GAPX(IC, OutputsModel)$CritValue, + 1 - RunOptions$FeatFUN_MOD$NbParam^0.5 / 20) +}) + +test_that("ErrorCrit should return 1-(nbParam-1)^0.5/40 for ParamT shifted by 1 with one NA", { + ParamT <- ParamT + 1 + ParamT[1] <- NA + IC <- CreateInputsCrit(ErrorCrit_GAPX, InputsModel, RunOptions, Obs = ParamT, VarObs = "ParamT") + expect_equal(suppressWarnings(ErrorCrit_GAPX(IC, OutputsModel)$CritValue), + 1 - (RunOptions$FeatFUN_MOD$NbParam - 1)^0.5 / 20) + expect_warning(ErrorCrit_GAPX(IC, OutputsModel)$CritValue, + regexp = "criterion GAPX computed on less than 4 parameters") }) -- GitLab