[R] Calculate geometric mean with tapply
Rui Barradas
ruipbarradas at sapo.pt
Tue Jun 25 13:17:47 CEST 2013
Hello,
You can write a function gmean and tapply it to your data.
gmean <- function(x, na.rm = FALSE){
if(na.rm) x <- x[!is.na(x)]
n <- length(x)
prod(x)^(1/n)
}
tapply(data$value, data$group, gmean)
Hope this helps,
Rui Barradas
Em 25-06-2013 11:58, Shane Carey escreveu:
> Hi,
>
> I am trying to calculate the geometric mean with tapply. This is the
> formula I am using:
>
> exp(tapply(log(data$value), data$group, mean))
>
>
> However, it returns the arithmetic mean. Any ideas?
>
>
> Thanks
>
>
More information about the R-help
mailing list