相关疑难解决方法(0)

R:在'nls`中捕捉错误

我正在使用一些指数数据nls.

我正在使用的代码是:

fit <- nls(y ~ expFit(times, A, tau, C), start = c(A=100, tau=-3, C=0))
Run Code Online (Sandbox Code Playgroud)

expFit 被定义为

expFit <- function(t, A, tau, C)
    {
    expFit <- A*(exp(-t/tau))+C
    }
Run Code Online (Sandbox Code Playgroud)

这适用于我的大多数数据,其中提供的起始参数(100,-3和0)运行良好.但有时,我的数据与这些参数不相符,而且我得到错误nls(例如"奇异梯度"或类似的东西).我如何"捕获"这些错误?

我试着做点什么

fit <- NULL
fit <- nls(...)

if (is.null(fit))
    {
    // Try nls with other starting parameters
    }
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为nls似乎停止执行和后面的代码nls将不会执行...

有任何想法吗?

谢谢你

exception-handling r curve-fitting nls

6
推荐指数
1
解决办法
3084
查看次数

标签 统计

curve-fitting ×1

exception-handling ×1

nls ×1

r ×1