我正在使用nls
.
我正在使用的代码是:
fit <- nls(y ~ expFit(times, A, tau, C), start = c(A=100, tau=-3, C=0))
expFit
定义为
expFit <- function(t, A, tau, C)
{
expFit <- A*(exp(-t/tau))+C
}
这适用于我的大多数数据,提供的起始参数(100、-3 和 0)效果很好。但是,有时我的数据与这些参数不匹配,并且我会从中得到错误nls
(例如“奇异梯度”或类似的东西)。我如何“捕捉”这些错误?
我试图做类似的事情
fit <- NULL
fit <- nls(...)
if (is.null(fit))
{
// Try nls with other starting parameters
}
但这不起作用,因为nls
似乎停止执行并且之后的代码nls
将不会执行......
有任何想法吗?
谢谢尼科