を使用していくつかの指数データをフィッティングしてい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
実行されないため、機能しません...
何か案は?
ありがとうニコ