Hmean {DescTools}R Documentation

Harmonic Mean and Its Confidence Interval


Calculates the harmonic mean and its confidence interval of a vector x.


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



a positive numeric vector. An object which is not a vector is coerced (if possible) by as.vector.


a vector of character strings representing the type of intervals required. The value should be any subset of the values "classic", "boot". See


confidence level of the interval. Default is NA.


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.


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.


To compute the harmonic mean, 1/x is first calculated, before the arithmetic mean and its confidence interval are computed by MeanCI. The harmonic mean is then the reciprocal of the arithmetic mean of the reciprocals of the values. The same applies to the confidence interval.

The harmonic mean is restricted to strictly positive inputs, if any argument is negative, then the result will be NA. If the lower bound of the confidence interval is not greater than zero, then the confidence interval is not defined, and thus NA will be reported.

Use sapply to calculate the measures from data frame, resp. from a matrix.


a numeric value.


Andri Signorell <>


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

See Also



x <- runif(5)

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

sapply(, Hmean)

[Package DescTools version 0.99.51 Index]