I got it to work, sorry my fault, there was a problem with the data.

Thanks


On Tue, Jun 25, 2013 at 4:13 PM, arun <smartpink...@yahoo.com> wrote:

> May be this also works:
>
>  exp(mean(log(abs(x))))
> #[1] 0.4985282
> A.K.
>
>
>
> ----- Original Message -----
> From: PIKAL Petr <petr.pi...@precheza.cz>
> To: Shane Carey <careys...@gmail.com>
> Cc: "r-help@r-project.org" <r-help@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-boun...@r-project.org [mailto:r-help-bounces@r-
> > project.org] On Behalf Of Shane Carey
> > Sent: Tuesday, June 25, 2013 1:25 PM
> > To: Rui Barradas
> > Cc: r-help@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 <ruipbarra...@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@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@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.
>
>


-- 
Shane

        [[alternative HTML version deleted]]

______________________________________________
R-help@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.

Reply via email to