[R] help using tryCatch
William Dunlap
wdunlap at tibco.com
Thu Jan 19 19:30:08 CET 2017
The 'error' argument to tryCatch must be a function (of one argument,
the exception). Its return value will be the return value of tryCatch
if there is an error. Hence you should change the present
error = return(TBAPrice)
to
error = function(exception) TBAPrice
You can use
error = function(exception) return(TBAPrice)
if you prefer to use explicit return statements.
You could also examine conditionMessage(exception) or class(exception)
to see if it is the error you expect.
Bill Dunlap
TIBCO Software
wdunlap tibco.com
On Thu, Jan 19, 2017 at 8:39 AM, Glenn Schultz <glennmschultz at me.com> wrote:
> All,
> I have a function that I would like to return 0 or NA on unit root error
> but I cannot figure out how to get tryCatch to work. I have followed the
> examples in the R documentation as well as some online but I am missing
> something. If I added the tryCatch code I only get the error value. Any
> help is appreciated
>
> Glenn
>
> FindATOMSPrice <- function(StartPrice,
> TBAPrice,
> PriceInterval,
> CurrFactor,
> PrevFactor,
> CarryAdj,
> PDReturn,
> CPNReturn,
> MTDReturn){
> ATOMSReturn <- function(ClosePrice,
> StartPrice,
> CurrFactor,
> PrevFactor,
> PDReturn, CPNReturn, MTDReturn){
> SurvivalFactor = CurrFactor/PrevFactor
> PrxReturn = ((ClosePrice - StartPrice)/StartPrice) * SurvivalFactor
> ATOMSReturn = sum(PrxReturn, PDReturn, CPNReturn)
> return(ATOMSReturn - MTDReturn)
> }
> TBALow = TBAPrice - PriceInterval
> TBAHigh = TBAPrice + PriceInterval
>
> CleanPrice = #tryCatch({
> uniroot(ATOMSReturn,
> interval = c(TBALow, TBAHigh),
> tol = .000000001,
> StartPrice = StartPrice,
> CurrFactor = CurrFactor,
> PrevFactor = PrevFactor,
> PDReturn = PDReturn,
> CPNReturn = CPNReturn,
> MTDReturn = MTDReturn)$root
> #}, error = return(TBAPrice))
> return(CleanPrice - CarryAdj)
> }
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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