diff --git a/R/CreateErrorCrit_GAPX.R b/R/CreateErrorCrit_GAPX.R index 706c407a43cfae1e7205b0cd56d1e9ad2425af1e..33b424fa2c0634e6008488c8738b130a1f273619 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 60ad4fe6f8aa4538cf9c369574d7059d686e1fb2..3b41c84347915e655308a6229ae428df4159fce0 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") })