R: Fehler in `nls` abfangen

Ich passe einige Exponentialdaten mit @ nls.

Der Code, den ich benutze, ist:

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

expFit ist definiert al

expFit <- function(t, A, tau, C)
    {
    expFit <- A*(exp(-t/tau))+C
    }

Dies funktioniert gut für die meisten meiner Daten, für die die angegebenen Startparameter (100, -3 und 0) gut funktionieren. Manchmal habe ich jedoch Daten, die mit diesen Parametern nicht gut übereinstimmen, und ich erhalte Fehler vonnls (z. B. "singulärer Gradient" oder ähnliches). Wie "fange" ich diese Fehler ab?

Ich habe versucht, etwas wie @ zu t

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

if (is.null(fit))
    {
    // Try nls with other starting parameters
    }

Aber das wird nicht funktionieren, weilnls scheint die Ausführung und den Code nach @ anzuhaltnls wird nicht ausgeführt ...

Irgendwelche Ideen

Danke, nico

Antworten auf die Frage(2)

Ihre Antwort auf die Frage