[R] problem with break command
Berend Hasselman
bhh at xs4all.nl
Thu Apr 26 21:39:12 CEST 2012
On 26-04-2012, at 21:30, cassie jones wrote:
> Hello R-users,
>
> I am having a problem with the 'break' command in R. I am wondering if
> anyone can help me out with this. My program is similar to the following.
>
> a=rep(NA,5)
> a[1]=0
> for(i in 2:5)
> {
> a[i]=a[i-1]+runif(1,0,3)
> if(a[i]>5)
> {
> i=2
> break
> }
> }
>
> What exactly I am trying to do is find the sequence 'a' where the
> individual values of 'a' would not be larger than 5. In any sequence, if it
> becomes larger than 5, it would set the counter to be 2 and regenerate from
> i=2. But I guess I have not put the break command in the right place, so
> even though the 'if' condition becomes true and it sets i=2, it does not
> regenerate the values of 'a' since the beginning. Any help is really
> appreciated.
break will exit the for loop. You cannot achieve what you desire with break.
You need a while loop for this.
i <- 2
while( i <= 5 )
# for(i in 2:5)
{
a[i] <- a[i-1]+runif(1,0,3)
if(a[i]>5) i <- 2 else i <- i+1
}
And hope that the while loop will eventually terminate.
Berend
More information about the R-help
mailing list