Plyr is wonderfully expressive, but it breaks down when you have hundreds of levels of a factor. tapply, on the other hand keeps trucking on up to a couple of thousand with very few problems. Hadley says that he may use data.table for plyr2 though, which would make my life a lot better.