Re: [R] list problem

From: Dimitris Rizopoulos <dimitris.rizopoulos_at_med.kuleuven.ac.be>
Date: Tue 27 Jul 2004 - 23:23:24 EST

Hi Luis,

maybe there are better ways but you could try something like this,

n <- length(frame)
lapply(split(frame, frame$Year), function(x, n.){   res <- numeric(n.-2)
  for(i in 3:n.) res[i-2] <- sum(x$Total[x[,i]>0.])   res
}, n.=n)

I hope this helps.

Best,
Dimitris



Dimitris Rizopoulos
Doctoral Student
Biostatistical Centre
School of Public Health
Catholic University of Leuven

Address: Kapucijnenvoer 35, Leuven, Belgium

Tel: +32/16/396887
Fax: +32/16/337015
Web: http://www.med.kuleuven.ac.be/biostat/
     http://www.student.kuleuven.ac.be/~m0390867/dimitris.htm


> 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)
> }
>
>
> 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
>
>
> But when I try indexing frame["Tus"==TRUE,],,,,I just don't get it
>
> 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
>
> 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 Tue Jul 27 23:30:55 2004

This archive was generated by hypermail 2.1.8 : Fri 18 Mar 2005 - 02:39:39 EST