[R] using "mean" in by(x,y,mean)

Sundar Dorai-Raj sundar.dorai-raj at PDF.COM
Wed Jul 14 22:52:28 CEST 2004


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




More information about the R-help mailing list