test_that("Willmott's D estimates are the same across methods", {
x <- c(6, 8, 9, 10, 11, 14)
y <- c(2, 3, 5, 5, 6, 8)
df <- data.frame(x = x, y = y)
sim <- c(5, 7, 9, 2, 4.5, 6.7)
obs <- c(4.7, 6, 10, 2.5, 4, 7)
#' @srrstats {G3.0} Testing with appropriate tolerances.
#' @srrstats {G5.4} This comparison is made against a value calculated using hydroGOF::d()
#' @srrstats {G5.4b} This comparison is made against a value calculated using hydroGOF::d()
#' @srrstats {G5.4c} This comparison is made against a value calculated using hydroGOF::d()
expect_equal(
ww_willmott_d_vec(y, x),
0.5137892
)
#' @srrstats {G3.0} Testing with appropriate tolerances.
#' @srrstats {G5.4} This comparison is made against a value calculated using metrica::d1()
#' @srrstats {G5.4b} This comparison is made against a value calculated using metrica::d1()
#' @srrstats {G5.4c} This comparison is made against a value calculated using metrica::d1()
expect_equal(
ww_willmott_d1_vec(y, x),
0.2434783,
tolerance = 1e-6
)
#' @srrstats {G3.0} Testing with appropriate tolerances.
#' @srrstats {G5.4} This comparison is made against the implementation at https://hydroerr.readthedocs.io/en/latest/api/HydroErr.HydroErr.dr.html
#' @srrstats {G5.4b} This comparison is made against the implementation at https://hydroerr.readthedocs.io/en/latest/api/HydroErr.HydroErr.dr.html
#' @srrstats {G5.4c} This comparison is made against the implementation at https://hydroerr.readthedocs.io/en/latest/api/HydroErr.HydroErr.dr.html
expect_equal(
ww_willmott_dr_vec(obs, sim),
0.847457627118644
)
#' @srrstats {G3.0} Testing with appropriate tolerances.
#' @srrstats {G5.4} These comparisons test that combining the systematic and unsystematic components of MSE sum to RMSE, implemented in yardstick
expect_equal(
ww_systematic_mse_vec(y, x) + ww_unsystematic_mse_vec(y, x),
yardstick::rmse_vec(y, x)**2
)
#' @srrstats {G3.0} Testing with appropriate tolerances.
expect_equal(
ww_systematic_rmse_vec(y, x)**2 + ww_unsystematic_rmse_vec(y, x)**2,
yardstick::rmse_vec(y, x)**2
)
#' @srrstats {G3.0} Testing with appropriate tolerances.
expect_equal(
ww_willmott_d_vec(x, y),
ww_willmott_d(df, x, y)$.estimate
)
#' @srrstats {G3.0} Testing with appropriate tolerances.
expect_equal(
ww_willmott_d1_vec(x, y),
ww_willmott_d1(df, x, y)$.estimate
)
#' @srrstats {G3.0} Testing with appropriate tolerances.
expect_equal(
ww_willmott_dr_vec(x, y),
ww_willmott_dr(df, x, y)$.estimate
)
#' @srrstats {G3.0} Testing with appropriate tolerances.
expect_equal(
ww_systematic_mse_vec(x, y),
ww_systematic_mse(df, x, y)$.estimate
)
#' @srrstats {G3.0} Testing with appropriate tolerances.
expect_equal(
ww_unsystematic_mse_vec(x, y),
ww_unsystematic_mse(df, x, y)$.estimate
)
#' @srrstats {G3.0} Testing with appropriate tolerances.
expect_equal(
ww_systematic_rmse_vec(x, y),
ww_systematic_rmse(df, x, y)$.estimate
)
#' @srrstats {G3.0} Testing with appropriate tolerances.
expect_equal(
ww_unsystematic_rmse_vec(x, y),
ww_unsystematic_rmse(df, x, y)$.estimate
)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.