My apologies for not including a working example.

Here it is:

for (i in 1:10){
   cat("initial i = ",i,"\n")
   x <- runif(1)
   if (x > 0.7){
      i <- i-1
   }   
   cat("second i = ",i,"\n")
}

When I ran this i got what follows, so there were four cases where I
wanted the i not to increment.

initial i =  1 
second i =  1 
initial i =  2 
second i =  1 
initial i =  3 
second i =  3 
initial i =  4 
second i =  3 
initial i =  5 
second i =  4 
initial i =  6 
second i =  6 
initial i =  7 
second i =  7 
initial i =  8 
second i =  7 
initial i =  9 
second i =  9 
initial i =  10 
second i =  10 

>  -----Original Message-----
> From: 	Mike Jones  
> Sent:	Thursday, December 27, 2007 4:35 PM
> To:	'r-help@lists.R-project.org'
> Subject:	Conditionally incrementing a loop counter
> 
> Hi,
> I am trying a for loop from 1 to 10 by 1. However, if a condition does
> not get met, I want to "throw away" that iteration. So if my loop is
> for (i in 1:10)
> and i is say, 4 and the condition is not met then I don't want i to go
> up to 5.  Is there a way to do that? I can't seem to manually adjust i
> because from what I understand, R creates 10 long vector and uses that
> to "loops thru" and I'm not sure how to get at the index of that
> vector. Any suggestions? Thanks in advance.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Mike Jones
> Westat
> 1650 Research Blvd. RE401
> Rockville, MD 20850
> Ph: 240.314.2312
> 

	[[alternative HTML version deleted]]

