diff --git a/R/RPS.R b/R/RPS.R index a12f6a59db6d45d3645afa435c21b8a5c2b74899..75619b637a5dbc8c170f78fc4ddd982ea6464d1b 100644 --- a/R/RPS.R +++ b/R/RPS.R @@ -249,14 +249,13 @@ RPS <- function(exp, obs, time_dim = 'sdate', memb_dim = 'member', dat_dim = NUL probs_obs_cumsum <- apply(obs_probs, 2, cumsum) # rps: [sdate, nexp, nobs] - rps[ , i, j] <- apply((probs_exp_cumsum - probs_obs_cumsum)^2, 2, sum) - + rps[ , i, j] <- colSums((probs_exp_cumsum - probs_obs_cumsum)^2) if (Fair) { # FairRPS ## adjustment <- rowSums(-1 * (1/R - 1/R.new) * ens.cum * (R - ens.cum)/R/(R - 1)) [formula taken from SpecsVerification::EnsRps] R <- dim(exp)[2] #memb R_new <- Inf adjustment <- (-1) / (R - 1) * probs_exp_cumsum * (1 - probs_exp_cumsum) - adjustment <- apply(adjustment, 2, sum) + adjustment <- colSums(adjustment) rps[ , i, j] <- rps[ , i, j] + adjustment } } diff --git a/R/RPSS.R b/R/RPSS.R index 16d038fc425add530a91791f530f76d0622b5219..ab433e91698a45de1fb89ecdcfa3901a0e9181b2 100644 --- a/R/RPSS.R +++ b/R/RPSS.R @@ -360,8 +360,7 @@ RPSS <- function(exp, obs, ref = NULL, time_dim = 'sdate', memb_dim = 'member', # Calculate RPS for each time step probs_clim_cumsum <- apply(clim_probs, 2, cumsum) probs_obs_cumsum <- apply(obs_probs, 2, cumsum) - rps_ref[ , j] <- apply((probs_clim_cumsum - probs_obs_cumsum)^2, 2, sum) - + rps_ref[ , j] <- colSums((probs_clim_cumsum - probs_obs_cumsum)^2) # if (Fair) { # FairRPS # ## adjustment <- rowSums(-1 * (1/R - 1/R.new) * ens.cum * (R - ens.cum)/R/(R - 1)) [formula taken from SpecsVerification::EnsRps] # R <- dim(exp)[2] #memb