Re: [R] aggregate function

From: TEMPL Matthias <Matthias.Templ_at_statistik.gv.at>
Date: Mon 26 Jul 2004 - 23:13:35 EST


Hi,  

# x ... your frame
attach(x)
sum(Total[Year==1997 & Tus > 0])  

I hope this helps  

Best,
Matthias Templ    

> > -----Ursprüngliche Nachricht-----
> > Von: Luis Rideau Cruz [mailto:Luisr@frs.fo]
> > Gesendet: Montag, 26. Juli 2004 14:52
> > An: r-help@stat.math.ethz.ch
> > Betreff: [R] aggregate function
> >
> >
> > Hi all,
> > I have the folowing frame(there are more columns than shown),
> > 1 2 3 4 5
> > Year Total Tus Whi Norw
> > 1994 1.00 1830 0 355
> > 1995 1.00 0 0 0
> > 1995 1.00 0 0 0
> > 1995 1.00 4910 4280 695
> > 1997 1.00 0 0 110
> > 1997 0.58 0 0 0
> > 1997 1.00 0 0 0
> > 1994 1.00 0 0 0
> > 1997 1.00 0 40 70
> > 1998 1.00 0 0 1252
> > 1999 1.04 0 74 0
> > 1999 1.00 0 0 0
> > 1999 1.02 0 0 0
> > 1999 1.00 0 0 0
> > 1999 1.00 0 0 171
> > 1999 1.00 1794 0 229
> > 1999 1.00 0 3525 0
> > 1997 1.00 1335 1185 147
> > 1997 1.00 4925 1057 4801
> > 1997 1.00 0 6275 1773
> >
> > I try to get sum("Total") by "Year" in which Tus>0,
> > sum("Total") by "Year" in which Whi>0,,,and so on.
> >
> > I have done something like this;
> >
> > a<-as.list(numeric(3))
> > for (i in 3:5)
> > {
> > a[[i]]<-aggregate(frame[,"Total"],list(Year=frame$"Year",
> >
> > Tus=frame$"i">0),sum) }
> >
> > But I get
> >
> > "Error in FUN(X[[as.integer(1)]], ...) : arguments must have
> > same length"
> >
> > Also by doing one by one
> >
> > aggregate(frame[,"Total"],list(Year=frame$"Year",
> >
> > Tus=frame$"Tus">0),sum)
> >
> >
> > The result is something like;
> >
> > Year Tus x
> > 1994 FALSE 49.69
> > 1995 FALSE 49.35
> > 1996 FALSE 56.95
> > 1997 FALSE 57.00
> > 1998 FALSE 57.00
> > 1999 FALSE 58.09
> > 2000 FALSE 56.97
> > 2001 FALSE 57.95
> > 2002 FALSE 57.10
> > 2003 FALSE 56.16
> > 2000 TRUE 1.00
> > 2002 TRUE 1.00
> > 2003 TRUE 2.01
> >
> >
> > Help
> >
> >
> > Thank you
> >
> > Luis Ridao Cruz
> > Fiskirannsóknarstovan
> > Nóatún 1
> > P.O. Box 3051
> > FR-110 Tórshavn
> > Faroe Islands
> > Phone: +298 353900

> > Phone(direct): +298 353912
> > Mobile: +298 580800
> > Fax: +298 353901
> > E-mail: luisr@frs.fo
> > Web: www.frs.fo
> >
> > ______________________________________________
> > R-help@stat.math.ethz.ch mailing list
> > https://www.stat.math.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://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Mon Jul 26 23:28:02 2004

This archive was generated by hypermail 2.1.8 : Wed 03 Nov 2004 - 22:55:14 EST