[R] stop()
Nordlund, Dan (DSHS/RDA)
NordlDJ at dshs.wa.gov
Tue Oct 11 20:59:53 CEST 2011
> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-
> project.org] On Behalf Of Dimitris Rizopoulos
> Sent: Tuesday, October 11, 2011 10:43 AM
> To: Doran, Harold
> Cc: r-help at 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 at 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 at 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.
More information about the R-help
mailing list