R: Geometric Mean and Standard Deviation

Gmean {DescTools} | R Documentation

## Geometric Mean and Standard Deviation

### Description

Calculates the geometric mean, its confidence interval and the geometric standard deviation of a vector x.

### Usage

    Gmean(x, method = c("classic", "boot"), conf.level = NA,
          sides = c("two.sided","left","right"), na.rm = FALSE, ...)

    Gsd(x, na.rm = FALSE)

### Arguments

`x` | a positive numeric vector. An object which is not a vector is coerced (if possible) by as.vector.
`method` | a vector of character strings representing the type of intervals required. The value should be any subset of the values `"classic"`, `"boot"`. See `boot.ci`.
`conf.level` | confidence level of the interval. Default is `NA`.
`sides` | a character string specifying the side of the confidence interval, must be one of `"two.sided"` (default), `"left"` or `"right"`. You can specify just the initial letter. `"left"` would be analogue to a hypothesis of `"greater"` in a `t.test`.
`na.rm` | logical, indicating whether `NA` values should be stripped before the computation proceeds. Defaults to `FALSE`.
`...` | further arguments are passed to the `boot` function. Supported arguments are `type` (`"norm"`, `"basic"`, `"stud"`, `"perc"`, `"bca"`), `parallel` and the number of bootstrap replicates `R`. If not defined those will be set to their defaults, being `"basic"` for `type`, option `"boot.parallel"` (and if that is not set, `"no"`) for `parallel` and `999` for `R`.

### Details

To compute the geometric mean, `log(x)` is first calculated, before the arithmetic mean and its confidence interval are computed by `MeanCI`.

So the geometric mean and geometric sd are restricted to positive inputs (because otherwise the answer can have an imaginary component). Hence if any argument is negative, the result will be `NA`. If any argument is zero, then the geometric mean is zero.

The geometric mean is defined as

(x_1 * x_2 * ... * x_n)^(1/n)

and its confidence interval is given as `exp(MeanCI(log(x)))`. Use `sapply` to calculate the measures from data frame, resp. from a matrix.

### Value

a numeric value.

### Author(s)

Andri Signorell <andri@signorell.net>

### References

Snedecor, G. W., Cochran, W. G. Cochran (1989) Statistical Methods, 8th ed. Ames, IA: Iowa State University Press

### See Also

`mean`, `Hmean`

### Examples

    x <- runif(5)
    Gmean(x)

    m <- matrix(runif(50), nrow = 10)
    apply(m, 2, Gmean)

    sapply(as.data.frame(m), Gmean)

[Package DescTools version 0.99.28 Index]