在我的r脚本中,我执行nls以获得合适的值:
fit <- nls(...)
然后在那之后,我测试nls是否通过这样做成功了:
if(is.na(fit)) {
print("succeeded")
}
但我收到警告:
the condition has length > 1 and only the first element will be used
我这样做错了吗?如果是的话,我该怎么办?如果没有,我该如何删除警告?谢谢!
答案 0 :(得分:3)
nls
会导致错误。因此,在is.null
之后try(nls(...))
是正确的方法。
这是我在使用nls
适用于不确定数据时使用的一段代码:
fit <- NULL
while (TRUE) {
start <- list(...) # try somewhat randomized initial parameter
try(fit <- nls(..., start = start)) # performe nls
if (!is.null(fit)) break;
}