[R] Calculate geometric mean with tapply

arun smartpink111 at yahoo.com
Tue Jun 25 17:13:50 CEST 2013


May be this also works:

 exp(mean(log(abs(x))))
#[1] 0.4985282
A.K.



----- Original Message -----
From: PIKAL Petr <petr.pikal at precheza.cz>
To: Shane Carey <careyshan at gmail.com>
Cc: "r-help at r-project.org" <r-help at r-project.org>
Sent: Tuesday, June 25, 2013 8:50 AM
Subject: Re: [R] Calculate geometric mean with tapply

Hm


> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-
> project.org] On Behalf Of Shane Carey
> Sent: Tuesday, June 25, 2013 1:25 PM
> To: Rui Barradas
> Cc: r-help at r-project.org
> Subject: Re: [R] Calculate geometric mean with tapply
> 
> Thanks for your help, put I've tried that and it still gives me back
> the mean when I use it within tapply for some reason

can we believe it? Data, code please

> set.seed(111)
> x<-rnorm(10)
> mean(x)
[1] -0.6690135
> gmean(x)
[1] 0.4985282
> tapply(vysled$gamapoml, vysled$vzorek, mean)
  vz2   vz4   vz6 
341.0 343.0 332.4 
> tapply(vysled$gamapoml, vysled$vzorek, gmean)
     vz2      vz4      vz6 
340.5418 342.6154 332.2701 
>

I get different result for mean and gmean within tapply my data.

Regards
Petr
> 
> 
> On Tue, Jun 25, 2013 at 12:17 PM, Rui Barradas <ruipbarradas at sapo.pt>
> wrote:
> 
> > 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
> >>
> >>
> >>
> 
> 
> --
> Shane
> 
>     [[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-
> guide.html
> and provide commented, minimal, self-contained, reproducible code.

______________________________________________
R-help at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.




More information about the R-help mailing list