From b7b564ae3c4d05e0191cf3c811d35e7364118c80 Mon Sep 17 00:00:00 2001 From: Carlos Delgado Date: Thu, 20 Oct 2022 20:05:19 +0200 Subject: [PATCH 1/2] fixed significance --- R/AbsBiasSS.R | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/R/AbsBiasSS.R b/R/AbsBiasSS.R index 0838f25..0ceb009 100644 --- a/R/AbsBiasSS.R +++ b/R/AbsBiasSS.R @@ -257,15 +257,16 @@ AbsBiasSS <- function(exp, obs, ref = NULL, time_dim = 'sdate', memb_dim = NULL, obs_data <- obs_data[good_values] } } + ## Bias of the exp - bias_exp <- .Bias(exp = exp_data, obs = obs_data, na.rm = na.rm, absolute = TRUE, time_mean = TRUE) + bias_exp <- .Bias(exp = exp_data, obs = obs_data, na.rm = na.rm, absolute = TRUE, time_mean = FALSE) ## Bias of the ref if (is.null(ref)) { ## Climatological forecast - ref_data <- mean(obs_data, na.rm = na.rm) + ref_data <- rep(mean(obs_data, na.rm = na.rm), length(obs_data)) } - bias_ref <- .Bias(exp = ref_data, obs = obs_data, na.rm = na.rm, absolute = TRUE, time_mean = TRUE) + bias_ref <- .Bias(exp = ref_data, obs = obs_data, na.rm = na.rm, absolute = TRUE, time_mean = FALSE) ## Skill score and significance - biasSS[i, j] <- 1 - bias_exp / bias_ref + biasSS[i, j] <- 1 - mean(bias_exp) / mean(bias_ref) sign[i, j] <- .RandomWalkTest(skill_A = bias_exp, skill_B = bias_ref)$signif } } -- GitLab From da686a783710cb0617e39bd099d658865cef19f0 Mon Sep 17 00:00:00 2001 From: aho Date: Fri, 21 Oct 2022 09:50:12 +0200 Subject: [PATCH 2/2] Add check for sign --- tests/testthat/test-AbsBiasSS.R | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/testthat/test-AbsBiasSS.R b/tests/testthat/test-AbsBiasSS.R index b2e70f3..08a4a83 100644 --- a/tests/testthat/test-AbsBiasSS.R +++ b/tests/testthat/test-AbsBiasSS.R @@ -170,6 +170,11 @@ test_that("2. Output checks: dat1", { c(FALSE, FALSE), tolerance = 0.0001 ) + expect_equal( + as.vector(AbsBiasSS(exp1, exp1)$sign), + c(TRUE, TRUE), + tolerance = 0.0001 + ) }) -- GitLab