Calculate the geometric mean of a vector. This function is valid for non-negative, non-NA containing vectors.
Examples
# Normal case
geometric_mean(c(2, 5, 95, 5))
#> [1] 8.301822
# Default ignores 0s entirely
geometric_mean(c(2, 5, 95, 5, 0, 0, 0, 0))
#> [1] 8.301822
# Ignore zero = FALSE -- zero is used in mean calculation
geometric_mean(c(2, 5, 95, 5, 0, 0, 0, 0), ignore_zero = FALSE)
#> [1] 2.881288
# Case with NA -- Returns NA
geometric_mean(c(NA, 1, 2, 3))
#> [1] NA
# Case with 0 propagation -- Returns 0
geometric_mean(c(0, 1, 2, 3), zero_propagate = TRUE)
#> [1] 0
# Case with negative -- Returns NaN
geometric_mean(c(-1, 2, 3))
#> [1] NaN