In response to my question Andy Liaw wrote: > Here's one way: <snip> > > dat$rank <- with(dat, ave(x, f, FUN=rank)) <snip> > Don't know how this rates on the slick-quick-sexy scale... Thanks Andy. That's definitely a 10 on the slick-quick-sexy scale. I (blush!) didn't know about ``ave()''. cheers, Rolf