[R] stop a function

Henrik Bengtsson hb at biostat.ucsf.edu
Thu May 15 22:34:54 CEST 2014


Two quick comments:

1. You do not need to reset the timeout limits yourself; it's already
taken care of, cf. help("evalWithTimeout").
2. Have you tried example(evalWithTimeout)?  It should illustrate how
it works/is used.  It's also a good example to verify that it also
works on your machine (I'd be really surprised if it doesn't).  When
you have confirmed that example code works, then extend it.

Hope this helps. Unfortunately, that's all we can help you with
(unless you send a minimal reproducible example that we can also test
on our end).

/Henrik



On Wed, May 14, 2014 at 1:05 AM, n omranian <n_omranian at yahoo.com> wrote:
> Here is my code... I tried to remove many parts and keep the part which is related to evalWithTimeout.
> I have two similar while(1) loop in my original code. I only include one here.
> tnx a lot
> NO
>
>
> while (perm <= 1000)
> {
>   setTimeLimit(cpu = Inf, elapsed = Inf)
>   while (1)
>   {
>     data <- main_data[,sample(1:ncol(main_data),size=10,replace=F)]
>     dd <- ....
>     while(i<= dd)
>     {
>       y <- time[i,]
>
>       fit <- NULL
>
>       tryCatch(fit <- {evalWithTimeout({penalized(y,x,lambda1=lambda1[i],lambda2=lambda2[i],fusedl=a,standardize=T,trace=F);},
>                                        timeout=360)},
>                TimeoutException = function(ex) cat("Timeout. Skipping.\n"))
>       setTimeLimit(cpu = Inf, elapsed = Inf)
>       if (is.null(fit)==T)
>         break
>       i<-i+1
>     }
>     if (i>dd)
>       break
>   }
>
> perm<-perm+1
> }
>
> On Wednesday, May 14, 2014 9:50 AM, "ONKELINX, Thierry" <Thierry.ONKELINX at inbo.be> wrote:
>
> Yes.
>
> Give us a minimal and reproducible example of your code and don't post in HTML.
>
> See fortunes::fortune(244)
>
>
> ir. Thierry Onkelinx
> Instituut voor natuur- en bosonderzoek / Research Institute for Nature and Forest
> team Biometrie & Kwaliteitszorg / team Biometrics & Quality Assurance
> Kliniekstraat 25
> 1070 Anderlecht
> Belgium
> + 32 2 525 02 51
> + 32 54 43 61 85
> Thierry.Onkelinx at inbo.be
> www.inbo.be
>
> To call in the statistician after the experiment is done may be no more than asking him to perform a post-mortem examination: he may be able to say what the experiment died of.
> ~ Sir Ronald Aylmer Fisher
>
> The plural of anecdote is not data.
> ~ Roger Brinner
>
> The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data.
> ~ John Tukey
>
> Van: n omranian [mailto:n_omranian at yahoo.com]
> Verzonden: dinsdag 13 mei 2014 22:13
> Aan: ONKELINX, Thierry; r-packages-owner at r-project.org; r-help at r-project.org; r-help-request at r-project.org
> Onderwerp: Re: [R] stop a function
>
> Hi,
> Another problem arised now. I got this error:
> Error in match(x, table, nomatch = 0L) : reached CPU time limit
>
> I googled it  but nothing could help me to get rid of this error. Any comments, help or hints?
>
> Thanks a lot,
> NO
> On Tuesday, May 13, 2014 2:36 PM, "ONKELINX, Thierry" <Thierry.ONKELINX at inbo.be> wrote:
> Have a look at evalWithTimeout() from the R.utils package
>
> Best regards,
>
> ir. Thierry Onkelinx
> Instituut voor natuur- en bosonderzoek / Research Institute for Nature and Forest
> team Biometrie & Kwaliteitszorg / team Biometrics & Quality Assurance
> Kliniekstraat 25
> 1070 Anderlecht
> Belgium
> + 32 2 525 02 51
> + 32 54 43 61 85
> Thierry.Onkelinx at inbo.be
> www.inbo.be
>
> To call in the statistician after the experiment is done may be no more than asking him to perform a post-mortem examination: he may be able to say what the experiment died of.
> ~ Sir Ronald Aylmer Fisher
>
> The plural of anecdote is not data.
> ~ Roger Brinner
>
> The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data.
> ~ John Tukey
>
> -----Oorspronkelijk bericht-----
> Van: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] Namens n omranian
> Verzonden: dinsdag 13 mei 2014 14:15
> Aan: r-packages-owner at r-project.org; r-help at r-project.org; r-help-request at r-project.org
> Onderwerp: [R] stop a function
>
> Hi all,
>
> If I use a function in R which takes some parameters as an input, how can I stop this function in the while loop and try another parameter in case the function takes long time or could not converge.
>
> Actually, I'm using "penalized" function in a loop for some fixed lambdas (pre-calculated), for some of them the function converged, but for some not. Now I decide to proceed in this way that if it takes longer than 3 mins, stop the "penalized" function and try the other lambdas.
>
> I need to do it in the loop since the loop is in the big program and I can't manually stop and begin again.
>
> Looking forward to your reply.
> NO
>
>
>         [[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.
> * * * * * * * * * * * * * D I S C L A I M E R * * * * * * * * * * * * *
> Dit bericht en eventuele bijlagen geven enkel de visie van de schrijver weer en binden het INBO onder geen enkel beding, zolang dit bericht niet bevestigd is door een geldig ondertekend document.
> The views expressed in this message and any annex are purely those of the writer and may not be regarded as stating an official position of INBO, as long as the message is not confirmed by a duly signed document.
>
> * * * * * * * * * * * * * D I S C L A I M E R * * * * * * * * * * * * *
> Dit bericht en eventuele bijlagen geven enkel de visie van de schrijver weer en binden het INBO onder geen enkel beding, zolang dit bericht niet bevestigd is door een geldig ondertekend document.
> The views expressed in this message and any annex are purely those of the writer and may not be regarded as stating an official position of INBO, as long as the message is not confirmed by a duly signed document.
>         [[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.
>



More information about the R-help mailing list