
What is the preferred way to iterate over 1 <= i < j <= n  ?

The following does not work as it gives an error message 
when i+1 exceeds n:

   for(i in 1:n)
      for(j in seq(i+1,n,1))

This works but seems like too much work:

   for(i in 1:n) {
      j <- i+1
      while(j<=n) {
         ...
         j <- j+1
      }
   }

This is briefer but offends my sense of how to do things:

   for(i in 1:n)
      for(j in i:n) {
         if (i==j) next
         ...
      }

This works too but seems somewhat involved:

   d <- diag(n)
   for( idx in seq(d)[upper.tri(d,diag=FALSE)] ) {
      i <- row(d)[idx]; j <- col(d)[idx]
      ...
   }

What is the preferred way to do this?


_____________________________________________________________

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
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@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._

