Replace "stop()" with "break" to see if that does what you want. (you may also want to include "cat()" or "warn()" to indicate the early stopping.
-- Gregory (Greg) L. Snow Ph.D. Statistical Data Center Intermountain Healthcare greg.s...@imail.org 801.408.8111 > -----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-bounces@r- > project.org] On Behalf Of Doran, Harold > Sent: Tuesday, October 11, 2011 11:32 AM > To: r-help@r-project.org > Subject: [R] stop() > > Suppose I have a function, such as the toy example below: > > myFun <- function(x, max.iter = 5) { > for(i in 1:10){ > result <- x + i > iter <- i > if(iter == max.iter) stop('Max reached') > } > result > } > > I can of course do this: > myFun(10, max.iter = 11) > > However, if I reach the maximum number of iterations before my > "algorithm" has finished (in my real application there are EM steps for > a mixed model), I actually want the function to return the value of > "result" up to that point. Currently using stop(), I would get > > > myFun(10, max.iter = 4) > Error in myFun(10, max.iter = 4) : Max reached > > But, in this toy case the function should return the value of "result" > up to iteration 4. > > Not sure how I can adjust this. > > Thanks, > Harold > > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting- > guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.