[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