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 -- Shane [[alternative HTML version deleted]]
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
>
>