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))),...)).