[R] "sequeeze" a data frame
    array chip 
    arrayprofile at yahoo.com
       
    Thu Sep  9 23:47:51 CEST 2010
    
    
  
Hi, suppose I have a data frame as below:
dat<-cbind(expand.grid(id=c(1,2,3),time=c(0,3,6),mode=c('R','L'),rep=(1:3)),y=rnorm(54))
I kind of want to "squeeze" the data frame into a new one with averaged "y" over 
"rep" for the same id, time and mode. taking average is easy with tapply:
tapply(dat$y, list(dat$id, dat$time, dat$mode), mean)
But I want the result to be in the same format as "dat". Certainly, we always 
can transform the result (array) into the data frame using a lot of codes. But 
is there a simple way to do this?
Thanks
John
    
    
More information about the R-help
mailing list