# [R] for loop question

Tue Sep 11 21:59:59 CEST 2001

```"HEUMANN,JOHN (A-Loveland,ex1)" wrote:
>
> In the windows version of R (1.3.0) is the following a bug, a
> known problem, or expected behavior:
>
>  > for (i in 1:2) {
>  + for (j in i+1:3) {
>  + print(j)
>  + }
>  + }
>  [1] 2
>  [1] 3
>  [1] 4      ????
>  [1] 3
>  [1] 4      ????
>  [1] 5      ????

Looks extremly as expected:

# outer loop i=1
# [1] 2     i=1, j=i+1
# [1] 3     i=1, j=i+2
# [1] 4     i=1, j=i+3
# outer loop i=2
# [1] 3     i=2, j=i+1
# [1] 4     i=2, j=i+2
# [1] 5     i=2, j=i+3

> Conversely, the following behaves as expected:
>
>  > for (i in 1:2) {
>  + k <- i+1
>  + for (j in k:3) {
>  + print(j)
>  + }
>  + }
>  [1] 2
>  [1] 3
>  [1] 3

What you mean is (the braces!!!):

for (i in 1:2) {
for (j in (i+1):3)
print(j)
}

Have a look at this (no spaces are here asn intentional negative
example):
1+1:3 # the sequence is evaluated at first!

Another way to do your calculation:

i <- 1:2
j <- 3
lapply(i, function(x) seq(x+1,j))

Uwe Ligges
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._

```