Sorry, forgot to add the sel. This is the first line, then just run the rest.
sel <- as.factor(paste(seal_dist[,10],"-",seal_dist[,5],sep="")) cheers Joris On Tue, Jun 1, 2010 at 4:56 PM, Joris Meys <jorism...@gmail.com> wrote: > Is this what you're looking for? > > seal_list <- split(seal_dist,sel) > > out <- lapply(seal_list,function(x){ > indx <- subset(x, x$DIST == 0) > x$TO_ID <- indx$ID[match(x$TO, indx$TO)] > return(x) > }) > > output <- unsplit(out,sel) > > Cheers > Joris > > On Tue, Jun 1, 2010 at 3:32 PM, RCulloch <ross.cull...@dur.ac.uk> wrote: > >> >> Hi Ivan, >> >> Thanks for your help, your initial suggestion did not work, but that is no >> doubt down to my lack of making sense! >> >> Here is a short example of my dataset. Basically the loop is set up to >> match >> the ID with the TO column based on DIST = 0. So A1 = 2, A1.1 =1, A2 = 4, >> A2.1 = 3. That is fine for HR 9, but for HR 10 the numbers no longer match >> those IDs so I need to loop the data and store each loop - if that makes >> sense. >> >> >> FROM TO DIST ID HR DD MM YY ANIMAL DAY >> 1 1 1 2.63981 'A1' 9 30 9 7 1 1 >> 2 1 2 0.00000 'A1' 9 30 9 7 1 1 >> 3 1 3 6.95836 'A1' 9 30 9 7 1 1 >> 4 1 4 8.63809 'A1' 9 30 9 7 1 1 >> 5 1 1 0.00000 'A1.1' 9 30 9 7 7 1 >> 6 1 2 2.63981 'A1.1' 9 30 9 7 7 1 >> 7 1 3 8.03071 'A1.1' 9 30 9 7 7 1 >> 8 1 4 8.90896 'A1.1' 9 30 9 7 7 1 >> 9 1 1 8.90896 'A2' 9 30 9 7 1 1 >> 10 1 2 8.63809 'A2' 9 30 9 7 1 1 >> 11 1 3 2.85602 'A2' 9 30 9 7 1 1 >> 12 1 4 0.00000 'A2' 9 30 9 7 1 1 >> 13 1 1 8.03071 'A2.1' 9 30 9 7 7 1 >> 14 1 2 6.95836 'A2.1' 9 30 9 7 7 1 >> 15 1 3 0.00000 'A2.1' 9 30 9 7 7 1 >> 16 1 4 2.85602 A2.1' 9 30 9 7 7 1 >> 17 1 1 3.53695 'A1' 10 30 9 7 1 1 >> 18 1 2 4.32457 'A1' 10 30 9 7 1 1 >> 19 1 3 0.00000 'A1' 10 30 9 7 1 1 >> 20 1 4 8.85851 'A1' 10 30 9 7 1 1 >> 21 1 5 12.09194 'A1' 10 30 9 7 1 1 >> 22 1 1 7.44743 'A1.1' 10 30 9 7 7 1 >> 23 1 2 0.00000 'A1.1' 10 30 9 7 7 1 >> 24 1 3 4.32457 'A1.1' 10 30 9 7 7 1 >> 25 1 4 13.16728 'A1.1' 10 30 9 7 7 1 >> 26 1 5 16.34761 'A1.1' 10 30 9 7 7 1 >> 27 1 1 6.13176 'A2' 10 30 9 7 1 1 >> 28 1 2 13.16728 'A2' 10 30 9 7 1 1 >> 29 1 3 8.85851 'A2' 10 30 9 7 1 1 >> 30 1 4 0.00000 'A2' 10 30 9 7 1 1 >> 31 1 5 3.40726 'A2' 10 30 9 7 1 1 >> 32 1 1 9.03345 'A2.1' 10 30 9 7 7 1 >> 33 1 2 16.34761 'A2.1' 10 30 9 7 7 1 >> 34 1 3 12.09194 'A2.1' 10 30 9 7 7 1 >> 35 1 4 3.40726 'A2.1' 10 30 9 7 7 1 >> 36 1 5 0.00000 'A2.1' 10 30 9 7 7 1 >> 37 1 1 0.00000 'MALE1' 10 30 9 7 12 1 >> 38 1 2 7.44743 'MALE1' 10 30 9 7 12 1 >> 39 1 3 3.53695 'MALE1' 10 30 9 7 12 1 >> 40 1 4 6.13176 'MALE1' 10 30 9 7 12 1 >> 41 1 5 9.03345 'MALE1' 10 30 9 7 12 1 >> >> >> So the loop is: >> >> DIST_LOOP<-matrix(NA,NA,ncol=11) >> >> for (i in 1:33){ >> SEL_DAY<-seal_dist[seal_dist[,10]==i,] >> SEL_DAY[i]=dist[i] >> print(paste("DAY", i, "of 33")) >> for (s in 1:11){ >> SEL_HR<-SEL_DAY[SEL_DAY[,5]==s,] >> print(paste("HR", s, "of 11")) >> indx <- subset(SEL_HR, SEL_HR$DIST == 0) >> SEL_HR$TO_ID <- indx$ID[match(SEL_HR$TO, indx$TO)] >> DIST_LOOP[i,]<-SEL_HR >> } >> } >> >> But storing the data in the DIST_LOOP matrix doesn't work, I am just told >> in >> another post that a list might be better than a matrix? >> >> I hope this makes more sense!? >> >> Many thanks, >> >> Ross >> -- >> View this message in context: >> http://r.789695.n4.nabble.com/storing-output-data-from-a-loop-that-has-varying-row-numbers-tp2238396p2238483.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. >> > > > > -- > Joris Meys > Statistical Consultant > > Ghent University > Faculty of Bioscience Engineering > Department of Applied mathematics, biometrics and process control > > Coupure Links 653 > B-9000 Gent > > tel : +32 9 264 59 87 > joris.m...@ugent.be > ------------------------------- > Disclaimer : http://helpdesk.ugent.be/e-maildisclaimer.php > -- Joris Meys Statistical Consultant Ghent University Faculty of Bioscience Engineering Department of Applied mathematics, biometrics and process control Coupure Links 653 B-9000 Gent tel : +32 9 264 59 87 joris.m...@ugent.be ------------------------------- Disclaimer : http://helpdesk.ugent.be/e-maildisclaimer.php [[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.