tests/utilities_tests.R

stopifnot(
  exprs = {
    generalized_mean(Inf)(1:5) == 5
    generalized_mean(-Inf)(1:5) == 1
    generalized_mean(1)(1:5) == 3
    generalized_mean(0L)(c(2, 2)) == 2
    abs(generalized_mean(0)(1:5) - prod(1:5)^0.2) < .Machine$double.eps^0.5
    abs(geomean(1:2) - sqrt(2)) < .Machine$double.eps^0.5
    abs(geomean(1:3, 1:3) - prod((1:3)^(1:3 / 6))) < .Machine$double.eps^0.5
    geomean(c(1, NA), na.rm = TRUE) == 1
    is.na(geomean(c(1, NA)))
    abs(harmean(1:2) - 4 / 3) < .Machine$double.eps^0.5
    abs(harmean(1:3, 1:3) - 2) < .Machine$double.eps^0.5
    harmean(c(1, NA), na.rm = TRUE) == 1
    is.na(harmean(c(1, NA)))
    geomean(1:100, 100:1) <= weighted.mean(1:100, 100:1)
    geomean(1:100, 100:1) >= harmean(1:100, 100:1)
    abs(generalized_mean(-2)(1:100) - mean((1:100)^(-2))^(-1/2)) < .Machine$double.eps^0.5
    abs(generalized_mean(2)(1:100) - mean((1:100)^(2))^(1/2)) < .Machine$double.eps^0.5
  }, 
  local = getNamespace('ppd')
)
marberts/ppd documentation built on March 27, 2020, 7:21 p.m.