Roger Levy <rog <at> stanford.edu> writes: : : Hi, : : Are there labeled break statements in R? i.e., something along the : lines of : : TOPLOOP: for(i in 1:m) { : for(j in 1:n) { : ... : if(condition) { : break TOPLOOP : } : } : }
Assuming that your labelled break is supposed to break out of both loops, unlike an ordinary break that just breaks out of the inner loop, this is how it would be done: a <- matrix(0, nr=3, nc=3) local({ for(i in 1:3) for(j in 1:3) if (i+j>4) return() else a[i,j] <<- i+j }) a Be aware that assigning variables within the local will assign local copies unless you use <<-, assign(..., ..., parent.frame()) or eval.parent(...). Of course this style is not recommended for R, and as someone else already mentioned, you should try to vectorize your code eliminating the loops altogether. For example, the above could be written without loops like this: a <- matrix(0, nr=3, nc=3) rc <- row(a) + col(a) a <- ifelse(rc > 4, a, rc) a ______________________________________________ [EMAIL PROTECTED] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html