[R] average by group...

Doran, Harold HDoran at air.org
Tue May 30 19:29:46 CEST 2006


I didn't know about ave(). What about this, though:

dat <- data.frame(score = rnorm(100), group = gl(10,10))
group.score <- with(dat, tapply(score, group, mean))
dat$group.score <- group.score[as.character(dat$group)] 

Harold

> -----Original Message-----
> From: pd at pubhealth.ku.dk [mailto:pd at pubhealth.ku.dk] On 
> Behalf Of Peter Dalgaard
> Sent: Tuesday, May 30, 2006 1:09 PM
> To: Doran, Harold
> Cc: r user; rhelp
> Subject: Re: [R] average by group...
> 
> "Doran, Harold" <HDoran at air.org> writes:
> 
> > ?tapply
> 
> Nope. 
> 
> ?ave
>   
> > 
> > > -----Original Message-----
> > > From: r-help-bounces at stat.math.ethz.ch 
> > > [mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of r user
> > > Sent: Tuesday, May 30, 2006 12:27 PM
> > > To: rhelp
> > > Subject: [R] average by group...
> > > 
> > > I have a dataframe with 700,000 rows and 2 vectors
> > > (columns): "group" and "score".
> > > 
> > > I  wish to calculate a third vector of length 700000:
>                                         ^^^^^^^^^^^^^^^^
> 
> > > the average score by group.  Even though the avarge value will 
> > > repeat, I wish to return the average for that particular 
> group for 
> > > each row.
> > > 
> > > (I know I can do this by calculating each group's average 
> and then 
> > > using the merge command, but as my calculations get more 
> complex and 
> > > my data set gets larger, the merge command seems to be 
> fairly slow.)
> > > 
> > > ______________________________________________
> > > R-help at stat.math.ethz.ch mailing list 
> > > https://stat.ethz.ch/mailman/listinfo/r-help
> > > PLEASE do read the posting guide! 
> > > http://www.R-project.org/posting-guide.html
> > >
> > 
> > ______________________________________________
> > R-help at stat.math.ethz.ch mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide! 
> > http://www.R-project.org/posting-guide.html
> > 
> 
> -- 
>    O__  ---- Peter Dalgaard             Øster Farimagsgade 5, Entr.B
>   c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
>  (*) \(*) -- University of Copenhagen   Denmark          Ph:  
> (+45) 35327918
> ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)                  FAX: 
> (+45) 35327907
>



More information about the R-help mailing list