> -----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-bounces@r- > project.org] On Behalf Of Dimitris Rizopoulos > Sent: Tuesday, October 11, 2011 10:43 AM > To: Doran, Harold > Cc: r-help@r-project.org > Subject: Re: [R] stop() > > You could use return(), e.g., > > myFun <- function (x, max.iter = 5) { > for (i in 1:10) { > result <- x + i > iter <- i > if (iter == max.iter) { > return(result) > } > } > result > } > > myFun(10, max.iter = 4) > > > I hope it helps. > > Best, > Dimitris
Or, just use break : myFun <- function (x, max.iter = 5) { for (i in 1:10) { result <- x + i iter <- i if (iter == max.iter) break } result } Hope this is helpful, Dan Daniel J. Nordlund Washington State Department of Social and Health Services Planning, Performance, and Accountability Research and Data Analysis Division Olympia, WA 98504-5204 > > > On 10/11/2011 7:31 PM, Doran, Harold wrote: > > 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. > > > > -- > Dimitris Rizopoulos > Assistant Professor > Department of Biostatistics > Erasmus University Medical Center > > Address: PO Box 2040, 3000 CA Rotterdam, the Netherlands > Tel: +31/(0)10/7043478 > Fax: +31/(0)10/7043014 > Web: http://www.erasmusmc.nl/biostatistiek/ > > ______________________________________________ > 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.