Find the harmonic mean of a vector, matrix, or columns of a data.frame
The harmonic mean is merely the reciprocal of the arithmetic mean of the reciprocals.
harmonic.mean(x,na.rm=TRUE,zero=TRUE)
x |
a vector, matrix, or data.frame |
na.rm |
na.rm=TRUE remove NA values before processing |
zero |
If TRUE, then if there are any zeros, return 0, else, return the harmonic mean of the non-zero elements |
Included as an example for teaching about functions. As well as for a discussion of how to estimate central tendencies.
Also used in statsBy
to weight by the harmonic mean.
Values of 0 can be included (in which case the harmonic.mean = 0) or converted to NA according to the zero option.
Added the zero option, March, 2017.
The harmonic mean(s)
Included as a simple demonstration of how to write a function
x <- seq(1,5) x2 <- x^2 x2[2] <- NA y <- x - 1 X <- data.frame(x,x2,y) harmonic.mean(x) harmonic.mean(x2) harmonic.mean(X) harmonic.mean(X,na.rm=FALSE) harmonic.mean(X,zero=FALSE)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.