When I ran
> test=NULL
> for (i in 1:10){
+ if (i%%2!=0){
+ test=c(test,i)
+ i=i+2}}
> test
[1] 1 3 5 7 9
I was expecting the same output as
> test=NULL
> i=1
> while (i<11){
+ if (i%%2!=0){
+ test=c(test,i)
+ i=i+2}
+ i=i+1}
> test
[1] 1 5 9
So this means that the dummy index in R “for” loops cannot be tweaked that easily. I seem to remember doing this kind of (dirty) tricks with earlier versions… Now, Alessandra and Robin think this is a good thing that the for loop is robust against this kind of non-sense, so I may be a minority in complaining about this lack of control [for me, if not for for].