Hello, I am new and am having a hard time getting the proper syntax for output from loops. I am working on a simulation to generate a null expectation of bee behavior. Pieces of it work. The part that I am having specific difficulty is in output of a vector from within the while loop that I am using. Basically the simulation works as such: I have a starting point and a neighbor matrix and a certain threshold distance for travel. In the while loop the "bee" moves to a randomly chosen neighbor location. I want to be able to record the elevations of these points (including the starting point) so that I can look at variance in elevation and mean elevation. The loop itself works as does the calculation of the final elevation list, change in elevation list, and true total distance traveled. I have looked in all of the email archives but have not come across a correct way of doing it. Code below:
start.elev.list<-list() final.mean.elev.list<-list() final.elev.list<-list() final.distance.list<-list() final.delta.elev.list<-list() final.var.elev<-list() b<-length(Bees.Day.1$bee) for (bee in 1:b){ #this is for number of bees that are trackable in the day with starting points and threshold distances elev.current.vector<-vector(mode="numeric", length=0) count<-1 ElevSS<-0 d.traveled<-0 thresh<-Bees.Day.1$cum.dist[bee] n<-Bees.Day.1$grid.pt[bee] #I'm making this up for the threshold, want to be bee specific #current.point<-round(runif(1,1,n)) #random starting point current.point<-Day.1.neighbor.matrix[1,n] #I want to specify the first point in the matrix Elev.Sum<-Day.1.elev.vector[current.point] while(d.traveled<thresh){ #which of the four options will be selection transition<-round(runif(1,1,4)) #so, what's the new point? new.point<- Day.1.neighbor.matrix[transition,n] #what is the variance in elevation changed Elev.current<-Day.1.elev.vector[current.point] elev.current.vector[i]<-Elev.current Elev.new<-Day.1.elev.vector[new.point] Elev.Sum<-(Elev.Sum+Elev.new) #how far will bee travelled current.travel<- Day.1.distance.matrix[current.point, new.point] d.traveled<- current.travel + d.traveled current.point<- new.point #Number of iterations until we reach the threshold count<-count+1 } print(count) print(elev.current.vector) mean.elev<-Elev.Sum/count print(paste("Final mean elev for bee", bee, "is", mean.elev, sep=" ")) final.mean.elev.list[bee]<-list(mean.elev) #What was the start elevation? start.elev<-Day.1.elev.vector[n] print(paste("Start elev for bee",bee,"is",start.elev, sep=" ")) start.elev.list[bee]<-list(start.elev) #what is the final elevation? final.elev<-Day.1.elev.vector[current.point] print(paste("Final elev for bee",bee,"is", final.elev,sep=" ")) final.elev.list[bee]<-list(final.elev) print(paste("Final travel distance for bee", bee,"is", d.traveled, sep=" ")) final.distance.list[bee]<-list(d.traveled) net.delta.elev<-(final.elev-Day.1.elev.vector[n]) print(paste("Final net change in elevation for bee",bee,"is", net.delta.elev,sep=" ")) final.delta.elev.list[bee]<-list(net.delta.elev) } ~~~~~~~~~~~~~~~~~~ Ryan D. Briscoe Runquist Population Biology Graduate Group University of California, Davis [EMAIL PROTECTED] ______________________________________________ R-help@stat.math.ethz.ch 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.