geomean: Calculates the geometric mean or geometric standard...

View source: R/FSAUtils.R

geomeanR Documentation

Calculates the geometric mean or geometric standard deviation.

Description

Calculates the geometric mean or standard deviation of a vector of numeric values.

Usage

geomean(x, na.rm = FALSE, zneg.rm = FALSE)

geosd(x, na.rm = FALSE, zneg.rm = FALSE)

Arguments

x

Vector of numeric values.

na.rm

Logical indicating whether to remove missing values or not.

zneg.rm

Logical indicating whether to ignore or remove zero or negative values found in x.

Details

The geometric mean is computed by log transforming the raw data in x, computing the arithmetic mean of the transformed data, and back-transforming this mean to the geometric mean by exponentiating.

The geometric standard deviation is computed by log transforming the raw data in x, computing the arithmetic standard deviation of the transformed data, and back-transforming this standard deviation to the geometric standard deviation by exponentiating.

Value

A numeric value that is the geometric mean or geometric standard deviation of the numeric values in x.

Note

This function is largely an implementation of the code suggested by Russell Senior on R-help in November, 1999.

See Also

See geometric.mean in psych and Gmean for geometric mean calculators. See Gsd (documented with Gmean) from DescTools for geometric standard deviation calculators.

Examples

## generate random lognormal data
d <- rlnorm(500,meanlog=0,sdlog=1)
# d has a mean on log scale of 0; thus, gm should be exp(0)~=1
# d has a sd on log scale of 1; thus, gsd should be exp(1)~=2.7
geomean(d)
geosd(d)

## Not run: 
## Demonstrate handling of zeros and negative values
x <- seq(-1,5)
# this will given an error
geomean(x)
# this will only give a warning, but might not be what you want
geomean(x,zneg.rm=TRUE)

## End(Not run)


FSA documentation built on Aug. 27, 2023, 1:06 a.m.

Related to geomean in FSA...