Learn R Programming

compositions (version 2.0-0)

geometricmean: The geometric mean

Description

Computes the geometric mean.

Usage

geometricmean(x,…)
          geometricmeanRow(x,…)
          geometricmeanCol(x,…)
          gsi.geometricmean(x,…)
          gsi.geometricmeanRow(x,…)
          gsi.geometricmeanCol(x,…)

Arguments

x

a numeric vector or matrix of data

further arguments to compute the mean

Value

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

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.

Details

The geometric mean is defined as: $$geometricmean(x) := \left( \prod_{i=1}^n x_i\right)^{1/n}$$ The geometric mean is actually computed by exp(mean(log(c(unclass(x))),...)).

See Also

mean.rplus

Examples

Run this code
# NOT RUN {
geometricmean(1:10)  
geometricmean(c(1,0,NA,NaN))  # 0
X <- matrix(c(1,NA,NaN,0,1,2,3,4),nrow=4)
X  
geometricmeanRow(X)
geometricmeanCol(X)
# }

Run the code above in your browser using DataLab