Skip to content
Back to formatted view

Raw Message

Message-ID: <4774C985.8040807@bitwrit.com.au>
Date: 2007-12-28T10:01:41Z
From: Jim Lemon
Subject: Conditionally incrementing a loop counter: Take 2
In-Reply-To: <403593359CA56C4CAE1F8F4F00DCFE7D0CBECE20@MAILBE2.westat.com>

Mike Jones wrote:
>
>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.
>
Hi Mike,
Is this what you want?

i<-1
while(i < 11) {
  if(runif(1) < 0.5) i<-i+1
  print(i)
}

This increments if the condition is met, doesn't if it is not met.

Jim