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: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 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" <[EMAIL PROTECTED]> writes: > > > ?tapply > > Nope. > > ?ave > > > > > > -----Original Message----- > > > From: [EMAIL PROTECTED] > > > [mailto:[EMAIL PROTECTED] 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@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@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 > ~~~~~~~~~~ - ([EMAIL PROTECTED]) FAX: > (+45) 35327907 > ______________________________________________ R-help@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