Hi,

I might be a bit tired so that I don't understand everything but I'm a bit confused.

How would you like your DIST_LOOP matrix to look like?
What do you intend to use xdfrow1...xdfrow7? As I said, I might not be at the best of my shape! A sample dataset would really help to see what you have and what you want to do (maybe using dput).

But maybe just:
DIST_LOOP[i, ]<-SEL_HR
would be enough, if you want to fill rows, as I understood.

HTH,
Ivan



Le 6/1/2010 13:51, RCulloch a écrit :
Hi All,

I am trying to run a loop that will have varying numbers of rows with each
output.

Previously I have had the same number of rows so I would use (and I
appreciate that this will no doubt achieve some gasps as being thoroughly
inefficient!):

xdfrow<-(0)
xdfrow1<-(1:32)
xdfrow2<-(33:64)
xdfrow3<-(65:96)
xdfrow4<-(97:128)
xdfrow5<-(129:160)
xdfrow6<-(161:192)
xdfrow7<-(193:224)

and so on....

xdf<- matrix(999, nrow=1024, ncol=7)
xdf<- as.data.frame(xdf)
NAM<- c("NAME","ID2","DAY","BEH", "B_FALSE", "B_TRUE","TOTAL")
colnames(xdf)<-NAM

I then use this matrix and then run the loop and assign the data to each of
the xdfrows just doing +1 on each loop. (If that makes sense? Not really
important, just trying to show that I do try and solve some of my own
problems, albeit perhaps not in the best manner!)

_________

However, the data I'm working with now has a very varied number of rows
(0:2500) over a large data set and I can't work out how is best to do this.

So my loop would be:

for (i in 1:33){
        SEL_DAY<-seal_dist[seal_dist[,10]==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)]}
}

where i is day and s is the hr within the day, the loop works fine because
it prints as i expect it too. I have not given any info on the data because
I assume this is more of a method question and will be very straight forward
to most people on here!? But I am happy to post data if it is needed.

I assume I need to set up a matrix before the loop,

e.g. DIST_LOOP<-matrix(NA,1000,ncol=11)

and then I should be able to put something before the first } that allows me
to add to the matrix, but everything I have tried doesn't work

e.g. DIST_LOOP[[i]]<-SEL_HR

Any help would be much appreciated,

Best wishes,

Ross






--
Ivan CALANDRA
PhD Student
University of Hamburg
Biozentrum Grindel und Zoologisches Museum
Abt. Säugetiere
Martin-Luther-King-Platz 3
D-20146 Hamburg, GERMANY
+49(0)40 42838 6231
ivan.calan...@uni-hamburg.de

**********
http://www.for771.uni-bonn.de
http://webapp5.rrz.uni-hamburg.de/mammals/eng/mitarbeiter.php

______________________________________________
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.

Reply via email to