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. ______________________________________________ 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.