> From: Sundar Dorai-Raj
> 
> William Revelle wrote:
> 
> > Dear list friends
> > 
> > I fail to understand how to find means for multiple groups 
> using the 
> > by() function. Help would be appreciated. Thanks.
> > Bill
> > 
> > 
> > x <- runif(20,0,10)
> > group <- rep(c("A","B"),10)
> > df <-data.frame(x,group)
> > #df            #show the data
> > 
> > rm(x,group)
> > attach(df)
> > 
> > sd(x)       # sd is defined
> > mean(x)     #so is mean
> > 
> > by(x,group,sd)   #this works for both groups
> > by(x,group,mean)  #this does not
> > 
> > 
> > produces this output:
> > 
> > 
> >>  x <- runif(20,0,10)
> >>  group <- rep(c("A","B"),10)
> >>  df <-data.frame(x,group)
> >>  #df            #show the data
> >>
> >>  rm(x,group)
> >>  attach(df)
> >>
> >>  sd(x)       # sd is defined
> > 
> > [1] 2.952699
> > 
> >>  mean(x)     #so is mean
> > 
> > [1] 5.026441
> > 
> >>
> >>  by(x,group,sd)   #this works for both groups
> > 
> > INDICES: A
> > [1] 2.813504
> > 
> --------------------------------------------------------------
> ---------------------------------------------- 
> > 
> > INDICES: B
> > [1] 3.236663
> > 
> >>  by(x,group,mean)  #this does not
> > 
> > Error in FUN(X[[as.integer(1)]], ...) : couldn't find function "FUN"
> > 
> > 
> > I am using a Mac OS 10.3.4 running R 1.9.1
> 
> Hi Bill,
> 
> Works for me. Do you have a local "mean" defined? Try 
> rm(mean) and re-try.
> 
>  > R.version
>           _
> platform i386-pc-mingw32
> arch     i386
> os       mingw32
> system   i386, mingw32
> status
> major    1
> minor    9.1
> year     2004
> month    06
> day      21
> language R
> 
> --sundar

Or try replacing `mean' with `base:::mean'.  BTW, why not just use tapply(x,
group, mean)?

Andy

______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to