Hi Ken, The help page for ?"for" says that:
The index seq in a for loop is evaluated at the start of the loop; changing it subsequently does not affect the loop. The variable var has the same type as seq, and is read-only: assigning to it does not alter seq. So you cannot do what you want to do with a for loop. But you could do what you want with a while loop: i <- 0 while(i < 20) { i <- i + 1 cat(i, "\n") if(i %% 5 == 0) i <- i + 2 } -Christos > -----Original Message----- > From: r-help-boun...@r-project.org > [mailto:r-help-boun...@r-project.org] On Behalf Of Lo, Ken > Sent: Wednesday, March 04, 2009 3:53 PM > To: r-help@r-project.org > Subject: [R] FW: flow control > > Hi all, > > I need a little help with flow control in R. What I'd like > to do is to advance a for loop by changing its counter. > However, what seems obvious to me does not yield the proper > results. An example of my problem is > > > for (i in seq(1, some_number, some_increment)){ > <some stuff> > if (some_condition == T) i <- i + 2; #want to advance > the loop by 2 } > > Whenever the counter goes to the next step, the next item in > the original sequence seq(1, some_number, some_increment) > replaces the counter value. Is there a way for me to do this? > > Best, > > Ken > > > > ______________________________________________ > 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. > > ______________________________________________ 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.