Actually, ddply does this perfectly ... I had made a mistake in using 'each'. The correct code is:
ddply(dd,~b+c,function(x)each(count=length,sum=sum,avg=mean)(x$a)) b c count sum avg 1 1 1 2 10 5.000000 2 2 1 1 3 3.000000 3 3 1 1 10 10.000000 4 1 2 2 10 5.000000 5 1 3 1 5 5.000000 6 3 3 3 17 5.666667 Hope this helps, -s On Mon, Apr 6, 2009 at 10:34 AM, Stavros Macrakis <macra...@alum.mit.edu>wrote: > There are various ways to do this in R. > > # sample data > dd <- data.frame(a=1:10,b=sample(3,10,replace=T),c=sample(3,10,replace=T)) > > Using the standard built-in functions, you can use: > > *** aggregate *** > > aggregate(dd,list(b=dd$b,c=dd$c),sum) > b c a b c > 1 1 1 10 2 2 > 2 2 1 3 2 1 > .... > > *** tapply *** > > tapply(dd$a,interaction(dd$b,dd$c),sum) > 1.1 2.1 3.1 1.2 2.2 3.2 1.3 > 2.3 > 5.000000 3.000000 10.000000 5.000000 NA NA 5.000000 > ... > > But the nicest way is probably to use the plyr package: > > > library(plyr) > > ddply(dd,~b+c,sum) > b c V1 > 1 1 1 14 > 2 2 1 6 > .... > > ******** > > Unfortunately, none of these approaches allows you do return more than one > result from the function, so you'll need to write > > > ddply(dd,~b+c,length) # count > > ddply(dd,~b+c,sum) > > ddply(dd,~b+c,mean) # arithmetic average > > There is an 'each' function in plyr, but it doesn't seem to be compatible > with ddply. > > -s > > On Mon, Apr 6, 2009 at 5:37 AM, calpeda <mauro.bias...@calpeda.it> wrote: > >> >> Hi, >> I ve been searching a lot in internet..but I can t find a solution >> Attached, you find a file. >> I need for each (Materiale, tpdv, UM) to find sum,avg and count >> My idea was to aggregate for the 3 parameters ..but I don t know how to >> get >> the numeric value (SUM,COUNT,AVG) I need. >> Can you help me? >> thank you >> >> http://www.nabble.com/file/p22905322/ordini2008_ex.txt ordini2008_ex.txt >> -- >> View this message in context: >> http://www.nabble.com/SUM%2CCOUNT%2CAVG-tp22905322p22905322.html >> Sent from the R help mailing list archive at Nabble.com. >> >> ______________________________________________ >> R-help@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide >> http://www.R-project.org/posting-guide.html >> and provide commented, minimal, self-contained, reproducible code. >> > > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.