geometricmean {compositions} | R Documentation

## The geometric mean

### Description

Computes the geometric mean.

### Usage

              geometricmean(x,...)
              geometricmean.row(x,...)
              geometricmean.col(x,...)
              gsi.geometricmean(x,...)
              gsi.geometricmean.row(x,...)
              gsi.geometricmean.col(x,...)

### Arguments

`x` | a numeric vector or matrix of data
`...` | further arguments to compute the mean

### Details

The geometric mean is defined as:

geometricmean(x) := `prod(x)^(1/length(x))`

The geometric mean is actually computed by `exp(mean(log(c(unclass(x))),...))`.

### Value

The geometric means of x as a whole (geometricmean), its rows (geometricmean.row) or its columns (geometricmean.col).

### Missing Policy

The the first three functions take the geometric mean of all non-missing values. This is because they should yield a result in term of data analysis.

Contrarily, the gsi.* functions inherit the arithmetic IEEE policy of R through `exp(mean(log(c(unclass(x))),...))`. Thus, NA codes a not available i.e. not measured, NaN codes a below detection limit, and 0.0 codes a structural zero. If any of the elements involved is 0, NA or NaN the result is of the same type. Here 0 takes precedence over NA, and NA takes precedence over NaN. For example, if a structural 0 appears, the geometric mean is 0 regardless of the presence of NaN's or NA's in the rest. Values below detection limit become NaN's if they are coded as negative values.

### Author(s)

K.Gerald v.d. Boogaart http://www.stat.boogaart.de

### See Also

`mean.rplus`

### Examples

    geometricmean(1:10)
    geometricmean(c(1,0,NA,NaN))  # 0
    X <- matrix(c(1,NA,NaN,0,1,2,3,4),nrow=4)
    X
    geometricmean.row(X)
    geometricmean.col(X)

[Package compositions version 0.91-6 Index]