Archive for for loop

weird [lack of] control…

Posted in R, University life with tags , , , on February 21, 2012 by xi'an

When I ran

[sourcecode language=”r” gutter=”false”]
> 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
[/sourcecode]

I was expecting the same output as

[sourcecode language=”r” gutter=”false”]
> 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
[/sourcecode]

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].